Collection 接口的子接口:List,Set;
ArrayList 类实现 List 接口
public class ArrayListTest {
public static void main(String[] args) {
//创建一个初始容量为10的空的列表
ArrayList al = new ArrayList();
//增加
al.add("hello");
al.add(null); //往列表的尾部添加一个元素
al.add(1, "java"); //往指定位置上添加一个元素
al.add(0, null); //可以存放重复的元素
al.add(123); //自动加包:实际添加的是123的包装类的对象 new Integer(123);
al.add(true); //Boolean对象
//删除
al.remove(null); //删除指定的元素,如果有多个,删除第一个
al.remove(1); //删除指定位置上的元素
//al.remove(123); //索引越界
al.remove(new Integer(123)); //删除Integer对象
//修改
al.set(2, false); //修改指定位置上的元素
//查询
Object value = al.get(2); //返回指定位置上的元素
System.out.println("value="+value);
//遍历的三种方式
System.out.println("--普通的for循环--");
for(int i=0;i<al.size();i++){
System.out.println(al.get(i));
}
System.out.println("--简洁for循环--");
for(Object obj:al){
System.out.println(obj);
}
//通过集合的专用的迭代器
System.out.println("--集合专用的迭代器--");
Iterator it = al.iterator(); //导包:java.util.* iterator():获取指定集合上的迭代器
while(it.hasNext()){ //hasNext():询问有没有元素可以继续迭代
Object obj = it.next(); //next():迭代出一个元素
System.out.println(obj);
//al.remove(0); //在迭代过程中不允许通过集合来改动列表中的元素
it.remove(); //必须通过迭代器的方法修改列表,将迭代出来的元素从列表中删除
}
//判断列表是否为空
System.out.println("列表是否为空?"+al.isEmpty());
//输出列表
System.out.println("列表的长度:"+al.size()); //列表的长度
System.out.println(al);
}
}