am
List接口
特点:
①:有序集合(怎么存怎么取) ②:有下标(每个元素插入位置精确控制) ③:允许重复元素,equals方法比较是否重复元素
List接口的常用子类有:ArrayList集合、Linkedlist集合
常用方法
除了 add(E e)和 remove,其他都是list接口独有 带下标
list主要就是带下标的方法
packagecom.oracle.demo01;importjava.util.ArrayList;importjava.util.List;public classDemo01 {public static voidmain(String[] args) {//创建list接口
List list=new ArrayList();
list.add("123");
list.add("abc");//指定位置插入指定元素
list.add(1,"456");//删除指定位置上的元素
String s=list.remove(1);
System.out.println("删除元素为"+s);//替换指定位置上的元素
String str=list.set(0,"小猪佩奇");
System.out.println("替换的元素为"+str);//遍历
for(int i=0;i
System.out.println(list.get(i));
}
}
}
Iterator的并发修改异常
迭代器 增强for存在的意义: 遍历
并发修改异常解决办法:在迭代时,不要使用集合的方法操作元素
packagecom.oracle.demo01;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;public classDemo02 {public static voidmain(String[] args) {
List arr=new ArrayList();
arr.add("a");
arr.add("b");
arr.add("c");//在遍历时判断该集合中是否有"b"元素,如果有则在该位置添加一个"d"//获取迭代器对象
Iterator it=arr.iterator();while(it.hasNext()){
String s=it.next();if(s.equals("b")){
arr.add("d");
}
}
}
}
List集合存数据的结构
1.堆栈结构 先进后出