实现List接口的集合类,具备的特点是有序,可重复
有序:集合的有序不是指自然顺序,是指添加顺序和出来的顺序是一样的
List中特有的方法:
一、添加
1.add(int index,E element):把元素添加到集合的指定位置
List list=new ArrayList();
list.add("张三");
list.add("李四");
list.add("王五");
list.add(2, "赵六");//将元素添加至集合指定位置
System.out.println(list);
2.addAll(int index,collection<? extends E> c):把一个集合放入到另一个集合的指定位置
List list=new ArrayList();
list.add("张三");
list.add("李四");
list.add("王五");
List list2=new ArrayList();
list2.add("狗娃");
list2.add("狗剩");
list.addAll(1, list2);
System.out.println(list);
二、获取
1.get(int index):根据索引值获取集合中的元素
List list=new ArrayList();
list.add("张三");
list.add("李四");
list.add("王五");
System.out.println(list.get(1));//获取集合中索引值为1的元素
2.indexOf(Object o):找出指定元素在集合中第一次出现的索引值
List list=new ArrayList();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("李四");
list.add("李四");
System.out.println(list.indexOf("李四"));//找出李四在集合中第一次出现的索引值
3.lastIndexOf(Object o):找出指定元素在集合中最后一次出现的索引值
List list=new ArrayList();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("李四");
list.add("李四");
System.out.println(list.lastIndexOf("李四"));//找出李四在集合中最后一次出现的索引值
4.subList(int fromIndex,int toIndex):指定开始于结束得索引值,截取集合中的元素
List list=new ArrayList();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("李四");
list.add("李四");
System.out.println(list.subList(1, 3));//获取集合中索引值从1到3的元素,包头不包尾
三、修改
1.set(int index,E element):使用指定的元素替换指定索引值元素
List list=new ArrayList();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("李四");
list.add("李四");
list.set(3, "狗娃");//有狗娃替换集合中索引值为3的元素
System.out.println(list);
四、迭代
1.listIterator():迭代器
listIterator特有的方法
(1)hasPrevious():判断是否存在上一个元素
(2)previous():获取上一个元素
(3)add(E e):把当前元素插入到当前指针指向的位置
(4)set(E e):替换迭代器最后一次返回的元素
使用三种方式遍历集合的元素:
1.使用get方式遍历
2.使用迭代器正序遍历
3.使用迭代器逆序遍历
// TODO Auto-generated method stub
List list=new ArrayList();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
//1.使用get方法遍历
for(int i=0;i<list.size();i++){
System.out.print(list.get(i)+",");
}
System.out.println();
//2.使用迭代器正序遍历
ListIterator it=list.listIterator();
while(it.hasNext()){
System.out.print(it.next()+",");
}
System.out.println();
//3.使用迭代器逆序遍历
while(it.hasPrevious()){
System.out.print(it.previous()+",");
}
使用迭代器遍历集合的注意事项:
1.在迭代器迭代元素过程中,不允许使用集合对象改变集合中的元素,如果需要添加或者删除元素,使用迭代器方法
如果使用了集合对象改变集合中的元素个数,那么就会出现ConvurrentModificationException异常
版权声明:本文为weixin_44871934原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。