赞
踩
ArrayList是可以实现长度可变的数组存储在内的数据称为元素。此类提供一 些方法来操作内部存储的元素。ArrayList 中可不断添加元素,其大小也自动增长。
我们知道定义的数组长度是不可以改变了,而ArrayList就客服了这点,可以根据需要随时添加元素,加长长度。
JDK_API 中的 介绍如图:
三步:导包——创建——使用
导包: import java.util.ArrayList < E >
< E >表示一种指定的数据类型,叫做泛型。
泛型只能是引用类型,不能是基本数据类型
E,取自Element (元素)的首字母。在出现E的地方,我们使用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。
对于ArrayList来说,有一个尖括号< E >代表泛型。
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。
注意:泛型只能是引用类型,不能是基本类型。
注意事项:
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
如果内容是空,得到的是空的中括号: []
导包创建引用示例代码:
import java.util.ArrayList; public class ArrayTestTest { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); System.out.println(list); list.add("赵丽颖"); System.out.println(list); list.add("张三"); list.add("李四"); System.out.println(list); } }
输出结果如图:
这代码中add(100)是错误的,因为在创建ArrayList时尖括号内的类型是String。在list这个对象就只能存入String类。
add() 方法,添加一个元素
get(n) 方法,获取第n号元素
remove(n) 方法 去除第n号元素
size() 方法,返回集合中元素的个数
示例代码:
import java.util.ArrayList; public class ArrayTestTest { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); System.out.println(list); list.add("赵丽颖"); System.out.println(list); list.add("张三"); list.add("李四"); System.out.println(list); String name = list.get(1); System.out.println(name); String whoRemoved = list.remove(2); System.out.println("被移除的元素是:"+whoRemoved); System.out.println(list); int size = list.size(); System.out.println("集合的长度是:"+size); } }
输出结果:
用for循环遍历,size()方法
代码如下:
import java.util.ArrayList; public class ArrayTestTest { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("赵丽颖"); list.add("张三"); list.add("李四"); list.add("李五"); list.add("李六"); list.add("李七"); list.add("李八"); list.add("李九"); for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } } }
向ArrayList类的对象中存储基本数据类型,必须使用基本数据类型对应的包装类。写成以下方式错误:
ArrayList<int> arrayA = new ArrayList<>();
泛型不能直接写成int,long,float等,需写成包装类。包装类是引用类型,在java.lang包中有。
不同基本数据类型与包装类型的对应关系如下:
基本类型 | 包装类型 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
这里需要特别注意int 和char 的包装类型,分别是Integer 和Character,其他首字母大即可
代码示例:
import java.util.ArrayList;
public class ArrayTestTest {
public static void main(String[] args) {
ArrayList<Integer> listA = new ArrayList<>();
listA.add(100);
listA.add(200);
listA.add(300);
System.out.println(listA);
System.out.println(listA.get(1));
}
}
输出结果如下:
ArrayList中的泛型可以定义为自己定义的类生成的对象。
这里自定义一个Bean类型,然后在ArrayList中引用。
代码如下:
public class Bean { private String name; private int age; public Bean() { } public Bean(String name,int age) { this.name=name; this.age=age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public static void main(String[] args) { // TODO Auto-generated method stub } }
另一个类中引用Bean类
import java.util.ArrayList; public class ArrayTestTest { public static void main(String[] args) { ArrayList<Bean> listA = new ArrayList<>(); Bean one = new Bean("张三",20); Bean two = new Bean("李四",30); Bean three = new Bean("王五",16); listA.add(one); listA.add(two); listA.add(three); for(int i=0;i<listA.size();i++) { System.out.println("姓名:"+ listA.get(i).getName() + "年龄:" + listA.get(i).getAge()); } }
输出结果如下:
——————————————
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。