J2EE&コレクションフレームワーク&リスト

目次

1.UML

①コレクションクラス図

②オフライン教育プラットフォームのユースケース図

 2. リスト収集機能

① 収集フレームワークを学ぶとは、コンテナのデータ構造(追加、削除、変更、クエリ)を理解することです

② 秩序性と再現性

3. トラバース法

①foreach

② イテレータ イテレータ

③用

4.リンクリスト

① ArrayList と比較してデータ構造が異なる

Linkedlist: リンク リストの機能: 遅いクエリ変更、素早い追加と削除

Arraylist: 配列の機能: 高速なクエリ変更、低速な追加と削除

②スタックキュー

5. 成長因子の議論

6. コレクション フレームワーク ArrayList 内の繰り返し要素の重複排除とその基礎となる原理


1.UML

①コレクションクラス図

 

②オフライン教育プラットフォームのユースケース図

 2. リスト収集機能

① 収集フレームワークを学ぶとは、コンテナのデータ構造(追加、削除、変更、クエリ)を理解することです

② 秩序性と再現性

public class Demo1 {     public static void main(String[] args) { //コレクション自体がコンテナ         であり   、格納されている要素を追加、削除、変更、確認できるのがコンテナの特徴         List list = new ArrayList<>(); //  追加         list.add ("a"); list.add         ("b");         list.add         ("c") ; .set ( 1, "y");         System.out.println("コンテナ要素の変更         後、現在の要素コンテナ内: "+list ); //  list.remove (0); list.remove         ("a");         System.out を削除します。println("コンテナ要素が削除された後、現在のコレクション コンテナ内の要素: "+list);    //View

     

      




        


      



     
        System.out.println("最初のコンテナ要素を取得します: "+list.get (0) );
    
    }

 

3. トラバース法

①foreach

② イテレータ イテレータ

③用


    public static void main(String[] args) {         リスト list = new ArrayList<>();         //增加         list.add("a");         list.add("b");         list.add("c");




       ① foreach
        for (オブジェクト object : list) {             System.out.println(object);         ②    iterator 迭代器


     

        Iterator it = list.iterator();
        while(it.hasNext () ) {             System.out.println(it.next());         }    ③ for


     

        for (int i = 0; i < list.size() ; i++) {             System.out.println(list.get(i));         }     }


4.リンクリスト

① ArrayList と比較してデータ構造が異なる

Linkedlist :リンク リストの機能: 遅いクエリと変更、素早い追加と削除
Arraylist :配列の 機能: 高速なクエリと変更、低速な追加と削除

 

②スタックキュー

 

/**
 * linkedListでスタックコンテナを完成させる
 * 1.linkedListのAPIメソッドを確認する
 * 2.スタック/キューのデータ構造特性を確認する
 * @author PC
 *
 */
public class Demo2 {     public static void main(String[] args) {         LinkedList ll = new LinkedList<>();         ll.add("a");         ll.add("b");         ll.add("c");         DuiZhan dz = new DuiZ han(ll); //     メソッドを定義します。このメソッドが呼び出されると、後で格納された要素が最初に出力され、最初に格納された要素が後で出力されます。 System.out.println( dz.pop() ); System.out.println(dz.pop()); System.out.println(         dz.pop ( )         )         ;     }






  



}

クラスDuiZhan{  プライベートLinkedList ll;
  

    public DuiZhan(LinkedList ll) {         super();         this.ll = ll;     } //压栈 弹栈         public Object Pop () {         return ll.removeLast ();     } }







    

 

5. 成長因子の議論

/**
 * linkedList Tuning
 *要素をコレクションに格納する処理
 * ArrayList
 *配列の長さは不変
 * 
 * 1. データ構造が配列であることを証明する
 * 2. 配列の長さは不変だが、コレクションのリストの長さは可変である理由 * * 成長率 (一度にどれだけ
 拡張 
 するか) 0.5 倍 拡張 1.5 倍 1+0.5 * @author
 PC
 *
 */
public class Demo3 {     public static void main(String [] args) throws NoS uchFieldException、SecurityException、IllegalArgumentException、IllegalAccessException { ArrayList al =         new ArrayList <>(50) ;         for (int i = 0; i < 100; i++) {             al.add(i);             System.out.println(i+"\r");





            getCurrentArrLength(al);
        }
        
    }

    //ArrayList al オブジェクトの基になる配列の長さを取得します
    private static void getCurrentArrLength(ArrayList al) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {         Field f = al.getClass(). getDeclaredField ("elementData");     f.setible( true);         Object[] Object = (java.lang.Object[]) f.get( al);         System.out.println("現在のコレクションの基になる配列のコンテナ長"+Object.length);     }

    



        

6. コレクション フレームワーク ArrayList 内の繰り返し要素の重複排除とその基礎となる原理

/**
 *基になるオブジェクトと等しいリストの重複排除の原則
 * @author PC
 *
 */
public class Demo4 {     public static void main2(String[] args) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {         List list = new ArrayList<>();         list.add(" a"); list.add("b");         list.add("c");         System.out.print ln ("現在のコレクション コンテナ内"+list);  //重複排除         if(!list.contains("b")) {         list.add             ("b");         }         System.out.println("現在のコレクション コンテナ内"+list);     }






      




    public static void main(String[] args) throws NoSuchFieldException、SecurityException、IllegalArgumentException、IllegalAccessException {         List list = new ArrayList<>();         list.add(new Student(1,"zs"));         list.add(new Student(2,"ls"));         list.add(new Student(3,"lx"));         System.out.println("前の集合容器中の"+list);  //去重         if(!list.contains(new Student(3,"lx"))) {             list.add(new Student(3,"lx"));         システム.アウト         。





      









    public int getId() {         ID を返します。     public void setId(int id) {         this.id = id;     }     public     String getName() {         名前を返します。     public     void setName(String name) {         this.name = 名前;     }     public Student() {         // TODO 自動生成されたコンストラクタ スタブ     }     public Student(int id, String name) {         super();         this.id = ID;         this.name = 名前;     @Override public String toString     (     ) {











    










        return "学生 [id=" + id + ", name=" + name + "]";
    }
    
    @Override
    public booleanquals (Object obj) {         System.out.println("被调了。。。");         if (this == obj) は             true を返します。         if (obj == null) は             false を返します。         if (getClass() != obj.getClass()) は             false を返します。         学生その他 = (学生) obj;         if (id != other.id) は             false を返します。         if (name == null) {             if (other.name != null) は                 false を返します。         else if (!name.equals(other.name))














            false を返します。
        true を返します。
    }

おすすめ

転載: blog.csdn.net/qq_73126462/article/details/131551131