List和ListIterator的常见用法及特性

/*
Conllection
     |---set 元素是无序的,元素不可以重复


     |---List只有List具有修改方法,有序,元素可以重复
         |--ArrayList数据结构用的是数组  特点:查询速度很快 线程不同步
          |--LinkedList用的是链表


         |--Vector: 底层是数组数据结构,元素不可以重复, 线程同步被ArrayList已替代










List:
     特有方法,凡是可以操作角标的都是该体系特有方法



  add(index,element);
  addAll(index,Collection)

  remove(index)

  set(index,element)

  get(index)
   subList(from,to)
  ListIterator();


  int indexOf(obj):获取指定元素的位置
  ListIterator listIterator();




List集合特有的迭代器 是ListIteratort是Iteratort的子接口
在迭代时不可以通过集合对象的方法操作集合中的元素
会发生异常
所以  




*/




import java.util.*;
class ListDemo
{
     public static void sop(Object obj)
     {
         System.out.println(obj);
      }
     public static void main(String[] args)
     {
         //创建集合
         ArrayList al = new ArrayList();
         //添加元素
         al.add("java01");
         al.add("java02");
         al.add("java03");
         
         sop("原集合是—"+al);
         //在指定位置添加元素
         al.add(1,"java09");
         //删除指定位置元素
         al.remove(2);
         //修改元素
         al.set(2,"java008");
         sop("get(1)="+al.get(1));
         sop("现集合是—"+al);
        
         for(int x=0;x          {
            System.out.println(al.get(x));
          }
         for(Iterator it = al.iterator();it.hasNext();)
          {
               sop("next=="+it.next());
          }
         //通过indexOf获取对象的位置
          sop("index="+al.indexOf("java01"));
          List sub = al.subList(1,3);
          sop("sub="+sub);




          ListIterator li = al.listIterator();
          while(li.hasNext())
          {
             Object obj = li.next();
             if(obj.equals("java09"))
              {
                 li.add("java007");
               }
             sop(al);
             
           }


      }

}






import java.util.*;


class IteratorDemo
{
    public static void sop(Object obj)
    {
         System.out.println(obj);
     }




    public static void main(String[] args)
    {
       ArrayList al = new ArrayList();
         //添加元素
         al.add("java01");
         al.add("java02");
         al.add("java03");  
          sop(al);


         //遍历添加新的元素
          
        for(ListIterator li = al.listIterator();li.hasNext();)
         {     


              
              Object obj = li.next();
             if(obj.equals("java02"))
                li.add("haha");


                li.set("heiehi");//把 java02修改成heihei
         }
         
      sop(al);
  
     }
}


















你可能感兴趣的:(List和ListIterator的常见用法及特性)