- /*
- * List 集合的特有方法,(所有带角标的都是其特有方法)
- * 增add(index,element); addAll(index,Collection)
- * 删remove(index)
- * 改set(index,element)
- * 查get(index) subList(from,to) ListIterator()
- *
- * List集合的特有迭代器ListIterator是Iterator的子接口
- * 在迭代时,不可以通过集合对象的方法操作集合中的元素,会发生异常
- * 所以在迭代时,Iterator方法是有限的,只能有判断,取出,删除操作
- * 如果想要增加修改等操作,就需要其子接口,ListIterator
- * 该借款通过List的ListIterator方法获取
- */
- import java.util.ArrayList;
- import java.util.ListIterator;
- public class ListDemo {
- public static void main(String[] args) {
- //以ArrayL为例
- ArrayList al=new ArrayList();
- al.add("java01");
- al.add("java02");
- al.add("java03");
- al.add("java04");
- System.out.println("原来的集合"+al);
- al.add(1, "java05");
- System.out.println("add以后"+al);
- al.remove(2);
- System.out.println("remove以后"+al);
- al.set(1, "java07");
- System.out.println("set以后"+al);
- //获取元素
- System.out.println("get获取元素"+al.get(1));
- //获取所有元素
- for(int i=0;i<al.size();i++){
- System.out.println("al-->"+i+":"+al.get(i));
- }
- //获取对象的位置
- System.out.println(al.indexOf("java03"));
- System.out.println(al.subList(0, 2));//包头不包尾
- //在迭代过程中准备添加或删除元素,但不能对数据进行并发操作,要用到列表迭代器
- ListIterator li=al.listIterator();
- while(li.hasNext()){
- Object obj=li.next();
- if (obj.equals("java03")){
- li.add("java10");
- }
- }
- //li.hasPrevious();//可以逆向遍历
- System.out.println(al);
- }
- }
复制代码 |
|