与数组不同,数组一旦创建,长度固定,但是ArrayList的长度是动态的,不受限制,可以存储任意多的对象,但是只能存储对象,不能存储原生数据类型,如int
由于ArrayList只能存储对象,不能存储原生数据类型,所以
ArrayList array = new ArrayList();//错误!
只能写成ArrayList array =new ArrayList();
for each 写法:
for (int A: arraylist)
System.out.println(A);
相当于:
for (int i = 0; i < list.size(); i++)
System.out.println(arraylist.get(i));
创建一个存储字符串的ArrayList对象:
ArrayList arrayS= new ArrayList();
import java.util.ArrayList;
public class Encap {
public static void main(String args[]){
//创建一个ArrayList存储cities
ArrayList<String> cities = new ArrayList<>();
//添加一些城市在List中
cities.add("BeiJing");
cities.add("TianJin");
cities.add("HangZhou");
cities.add("GuangZhou");
cities.add("ShangHai");
cities.add("HaErBin");
//求List的长度
System.out.println("List size:"+ cities.size());
//List中是否包含“HangZhou”
System.out.println("Do cities contain HangZhou?" + cities.contains("HangZhou"));
//求“TIanJin”在List中的位置
System.out.println("The index of TianJin is?"+ cities.indexOf("TianJin"));
//在List的第二个位置插入城市“NanJing”
cities.add(1,"NanJing");
//打印所有List
System.out.println(cities.toString());//等同于 System.out.println(cities);
//删除List中第七个城市,即哈尔滨
cities.remove(6);
System.out.println(cities.toString());
//删除List中的“ShangHai”
cities.remove("ShangHai");
System.out.println(cities.toString());
//倒序打印List
for(int i =cities.size()-1;i>=1;i--)
System.out.print(cities.get(i) + " ");
System.out.println();
}
}
运行结果:
List size:6
Do cities contain HangZhou?true
The index of TianJin is?1
[BeiJing, NanJing, TianJin, HangZhou, GuangZhou, ShangHai, HaErBin]
[BeiJing, NanJing, TianJin, HangZhou, GuangZhou, ShangHai]
[BeiJing, NanJing, TianJin, HangZhou, GuangZhou]
GuangZhou HangZhou TianJin NanJing