Javaコレクション(B)

  5、リストのサブクラスの3つの機能

    ArrayListの基礎となる構造は、配列、基礎となる照会ブロック、遅い添加です。

    根本的な構造のLinkedListのタイプが速い、遅いクエリを追加または削除、リストです。

    構造の基礎となるベクトルがあまりに配列、スレッドセーフで、欠失およびクエリが遅いです。

  6、リストや地図、セットの違いは?

    1)構造的特徴:

      リストと設定が保存された単一のデータの集合であり、地図ストレージキーと、このような二重の列データの値がセットされ、シーケンシャルに保存され、繰り返し可能データリスト、地図に格納されたデータは、キーがある、注文されていません複製することができない、その値が繰り返され、セットに格納されたデータが乱れており、重複することはできませんが、ハッシュコードの要素が位置によって決定コレクション内の要素の位置が固定されている(設定された設定に応じてデータを記憶するためのハッシュコード、位置が固定されているが、ユーザがユーザのために設定された位置を制御することができないので、そう要素または順序付けられていないもの)

    2)実装クラス:

      Listインタフェースは、3つの実装クラス(LinkedListの持っている。ベースのリンクリストの実装メモリのリストが散在している、メモリアドレスも簡単に見遅いアドレスリストの追加および削除の次の要素を格納する店舗自体の各要素:ArrayListを:アレイベースの実装、非スレッドセーフな、効率的で簡単な指標に、それは(高速最終で拡大することなく、挿入)の挿入を容易にしない;ベクター:アレイベースのスレッドセーフな、低効率を実現しました

      ;ハッシュテーブルマップベースのインターフェース・ハッシュ・テーブル、非スレッドセーフ、効率的、ヌル値とヌルキーのサポート:3つのクラスが(HashMapのMapインタフェースを実装してあり、スレッドセーフな、非効率的な、ヌル値とヌルキーをサポートしていません;のLinkedHashMapを:HashMapのサブクラスは、保存されたレコードの挿入順序:SortMapインタフェース:TreeMapのは、それがソートされたキーに応じて、レコードを保存することが可能で、デフォルトでは昇順でキー値)。

      集合インタフェースの実装クラスは、2つの(持ちながら、HashSetの連続し; LinkedHashSetのHashMapの底層が達成され、このモードのequals()メソッドとhashCode()メソッドを使用するときに重複した値の集合を書き換える必要はできません。HashSetのはベースの底のLinkedHashMapを使用して実現することのLinkedHashMap)。

    3)との間の差を。

      インデックスによって収集位置でリストオブジェクトはオブジェクトを繰り返すことができるソート、目的に応じて、コレクション内の検索対象のインデックス位置は、例えば、List.get(I)の方法で要素のコレクションを取得することができ、マップの各要素が含まれていそして、キーと値のペアは、鍵を複製してはならない、オブジェクトの値が繰り返されてもよい、セットコレクションオブジェクトは、特定の方法でソートされず、重複オブジェクトが、実装は、特性に応じてオブジェクトに設定することができるされていません方法の一種、例えばTreeSetのクラス、デフォルト順序は、インターフェイス定義順序からjava.util.Compartor <タイプ>によって達成することができます。

   

  7、HashMapのハッシュテーブルは、違いは何ですか?

    HashMapのは、スレッドセーフではない、HashMapのはインターフェースである、地図、サブインターフェイスである、に値する対象にキーをマップすることである、それは重複キーの値を許可しません、

nullキーとヌル値ことができ、非スレッドセーフ以上の一部のハッシュテーブル効率、高効率のHashMap。

    ハッシュテーブルは、スレッドセーフのコレクション、キー値の値としてnull値または値を許可していません

    ハッシュテーブルは、複数のスレッドがアクセスしたとき、それは独自の方法を達成するための同期が不要であり、同期、およびHashMapのニーズは、そのメソッドが一度に複数のスレッドによってアクセスされている達成するために自分自身を同期させること。

    

 

      

 

 

      ハッシュアルゴリズム

おすすめ

転載: www.cnblogs.com/scar1et/p/11839213.html