JAva ListとListIterator

3302 ワード

List構造
Listインタフェースの集合クラスを実現した場合、特徴:秩序化、繰返し可能
  • ArrayList ArrayList下位層はObject配列を維持して実現したもので、特徴:クエリー速度が速く、削除が遅い.ArrayListはいつ使用するか:現在のデータがクエリーが多く、削除が少ない場合は、ArrayListを使用してこのデータ
  • を格納する.
  • LinkedList
  • Vector(了解可)
  • Listインタフェース特有の方法:
  • 追加
  • add(int index, E element) 
    addAll(int index, Collection extends E> c) 
    
  • 取得:
  • get(int index) 
    indexOf(Object o) 
    lastIndexOf(Object o) 
    subList(int fromIndex, int toIndex) 
    
  • 修正:
  • set(int index, E element) 
    

    Listインタフェースに特有の方法が備える特徴:
    操作のメソッドにはインデックス値があります.リストインタフェースの下にある集合クラスのみがインデックス値を持つ.他のインタフェースの下のコレクションクラスにはインデックス値がありません.
    ctrl+shift+/複数行コメントの追加
    ctrl+shift+複数行コメントのキャンセル
    public class Demo2 {
        
        public static void main(String[] args) {
            List list=  new ArrayList();
            list.add("  ");
            list.add("  ");
            list.add("  ");  //            。
            list.add("  ");
            
            /*  
               //    
            list.add(1, "   "); //                   。
            List list2 = new ArrayList();
            list2.add("  ");
            list2.add("   ");
            list.addAll(2,list2); // list2      list           。
             */
            
            /*
    //            
            System.out.println("get      :"+list.get(1)); //             
              get         :
            for (int i = 0; i < list.size() ; i++) {
                System.out.print(list.get(i)+",");
            }
            
            System.out.println("                    :"+ list.indexOf("  "));
            System.out.println("                    :"+list.lastIndexOf("  "));
            List subList = list.subList(1, 3); //                   。
            System.out.println("       :"+ subList);
         */ 
            list.set(3, "   "); //                   。
            
            
            System.out.println("     :"+list);
        
        }
    }
    

    反復
    listIterator() 
    

    ListIterator特有の方法:
    hasPrevious()             。
    previous()                 ,              。
            
    next();              ,            。 
        
    add(E e)                      。
    set(E e)                 。
    
    public class Demo3 {
        
        public static void main(String[] args) {
            List list = new ArrayList();
            list.add("  ");
            list.add("  ");
            list.add("  ");
            list.add("  ");
            
            ListIterator it = list.listIterator(); //      List         
            /*System.out.println("       ?"+ it.hasPrevious());
            System.out.println("       :"+it.previous());
            it.next();
            System.out.println("       :"+ it.previous());
            
            
            while(it.hasNext()){
                it.next();
            }
            
            while(it.hasPrevious()){
                System.out.println("  :"+ it.previous());
            }
            
            
            it.next();
            it.next();
            it.add("  ");
            */
            it.next();
            it.next();
            it.set("  ");
            
            
            System.out.println("     :"+ list);
            
            
        }
    
    }