一覧&&設定

リスト

反復インタフェース整然とした貯蔵方法は2つの実装は、リストクラスを連結し(追加として使用ArrayListを有している)list.iterratorイテレータを通じてイテレータトラバーサルを得

違いは、配列とリンクリストの間の差であります

簡単なクエリの列の追加、およびハード削除、

簡単にリストへの追加や削除、クエリがトラバースする必要があります。

セット

非反復無秩序ストレージは、さらに追加する反復処理するイテレータとlist.iterratorを得るための一般的な方法であります

ハッシュマップのためのHashSetの底我々は同じ値かどうかを判断する際equalsメソッドとhashCodeをオーバーライドする必要があります

TreeSetのは、繰り返し、自然の秩序やカスタムオーダー(同様の仲介モデル)を決定しました

それが繰り返されるのであれば、それは0、1または-1であれば同等の自然順序付けインターフェースCOMPARATOの戻り値を達成するために繰り返すことはできません

パッケージcn.jiedada.TreeSet; 

インポートはjava.util.Comparator;
 インポートjava.util.TreeSet、

パブリック クラス{テスト
     / * 実装クラスが設定されている
     *またとない蓄積障害
     *トラバーサル法
     *またとない達成
     *自然順序付けをcompareTo同等のソートと、このインターフェイスをカスタマイズ
     するカスタムソート* 
     * * / 
    パブリック 静的な 無効メイン(文字列[] args)を{
         // TODO自動生成されたスタブ方法、 
        TreeSetのTreeSetの= 新しい新TreeSetの(); 
        教師teacher1 = 新しい新しい先生(「李」 、42である); 
        教師teacher2= 新しい教師( "李老师"、42 );
        // 在添加的时候只能添加同一类的实列
    / *     スレッドの例外"メイン"とjava.lang.ClassCastException:
            cn.jiedada.TreeSet.Teacherがjava.lang.Comparableとにキャストすることはできません* / 
        treeSet.add( teacher1); 
        treeSet.add(teacher2)。
        / * スレッドの例外"メイン"とjava.lang.ClassCastException:
         * cn.jiedada.TreeSet.Teacherがjava.lang.Integerのにキャストすることはできません* / 
        // treeSet.add(1); 
        System.out.println(TreeSetの)。
        / * TreeSetの(コンパレータ<?スーパーE>コンパレータ)* / 
    
    } 

} 
クラスの先生実装匹敵{ 
    文字列名を、
    整数の年齢; 
    公共先生(文字列名、整数歳){
         スーパー();
        この .nameの= 名前;
        この .age = 年齢; 
    } 
    @Override 
    公共 のint のcompareTo(オブジェクトo){
         // TODO自動生成方法スタブ
        戻り 0 ; 
    } 
    @Override 
    パブリック文字列のtoString(){
         リターン "先生[NAME =" +名+ "年齢=" +年齢+ "]" 
    } 
    
}
コードの表示

compartorのカスタムオーダー我々は繰り返すかどうかを判断するために、当社独自のルールのためのインタフェースを指定することができます

パッケージcn.jiedada.TreeSet; 

輸入はjava.util.Comparator。
輸入java.util.TreeSet。

パブリック クラスTest1を{ 

    公共 静的 ボイドメイン(文字列[]引数){
         // TODO自動生成方法スタブ 
        TreeSetのTreeSetの= 新しい TreeSetの(新しいコンパレータ(){ 

            @Override 
            公共 のint 比較(オブジェクトO1、オブジェクトO2){ 
                学生STUDENT1 = (学生)01; 
                学生student2 = (学生)O2;
                 リターンstudent1.age.compareTo(student2.age)。
            } 
        })。
        学生の学生 = 学生( "李鹏"、18 ); 
        学生student2 = 新しい学生( "小张"、18 ); 
        treeSet.add(学生)。
        treeSet.add(student2)。
        System.out.println(TreeSetの)。
    } 

} 
クラスの学生{ 
    文字列名。
    整数の年齢; 
    公共学生(文字列名、整数歳){
         スーパー();
        この .nameの= 名前;
        この .age = 年齢;
    } 
    
}
コードの表示

 

おすすめ

転載: www.cnblogs.com/xiaoruirui/p/11290925.html