Java SE集合(リスト、セット、マップ、ArrayListを与LinkedListは、HashMapの与ハッシュテーブル、ハッシュテーブル与のConcurrentHashMap)

1、Javaのセットで

(1)単一のセット(コレクション):

 

リストコレクション:アクセス整然とした、インデックス、要素を繰り返すことができます

セットコレクション:ランダムアクセスには、何のインデックス要素は、(応じ等号とhashCodeの判定)オブジェクトに等しいとhashCodeメソッドをオーバーライドする必要がありますセットに格納される場合と言うことです、繰り返さないことができますがあります。

(2)複列セット(MAP):

 

 図2に示すように、差のArrayListとLinkedListの

(1)特徴:

         ArrayListの基礎となる配列が使用される:インデックス、速いクエリ、遅い追加を、メモリアレイは、移動する要素の多数の連続メモリ、挿入または欠失であります

         LinkedListの根底にあるリストが使用される:現在の要素は、ポインタ・フィールド及びデータ・フィールドに分割され、アドレスまたは先頭から要素を、格納ポインタ・フィールドは、クエリが低いクエリ効率を求めます。メモリ内の挿入要素の移動を必要としない、あなただけの、高効率の挿入や削除を基準点を変更することができます。

(2)を用いること。

以上のクエリの場合は、以下の挿入は、削除:ArrayListのを

LinkedListの:使用クエリが比較的小さく、より多くの挿入および欠失ケース

 

3、ハッシュマップとハッシュテーブル区別と接続

(1)同じ点:

KEY_VALUEのデータを格納するために使用することができます

(2)の違い:

キーとしてHashMapのは、nullまたは値であることはできませんが、ハッシュテーブル

HashMapのスレッドセーフな、高効率、ハッシュテーブルスレッドセーフな、低効率

 

4、区別と接続ハッシュテーブルのConcurrentHashMap

それゆえ、マルチスレッドアクセスをサポートすることができるように複数のセグメントにハッシュマップと同等のセグメントを使用して、各セグメントは、マルチスレッドのより効率的な場合がロックを割り当てます。

 

おすすめ

転載: www.cnblogs.com/zhai1997/p/12450896.html