第八章集合
1971 ワード
4.HashSetとLinked HashSet
LinkedHashSet HashSet,
5.TreeSetは、自然並べ替えとカスタマイズ順序を備えたHashSetである.ComprableインターフェースのcompreTo(Object obj)を呼び出し、要素のサイズ関係を比較し、要素を昇順に並べます.
カスタマイズ順序はCompratorインターフェースのint compre(T o 1,T o 2)オブジェクトを通じて要素の順序付けロジックを担当します.
TreeSetにオブジェクトを追加する場合、そのオブジェクトのクラスはComprableインターフェースを実現しなければなりません.
6.EnumSetはエニュメレーション値のEumクラス内の定義順序で集合要素の順序を決定する.
7.EnumSetはTreeSetより性能が優れていますが、スレッドは安全ではありません.
8.Listセットの各要素にはそれぞれ対応する順序インデックスがある.
セットと比較して、Listセットは、インデックスに従って挿入、置換、および幾何学的要素を削除する方法を追加した.
List集合にはsort()とreplacceAll()の2つの方法があり、sort()はCompratorによって要素の並べ替えを制御し、replacAll()はUniaryOperatorインターフェースを通してすべての集合要素を取り替える.
List集合はforループで巡回します.
Listは、新たにlistIterator()方法(Iteratorインターフェースの継承)を追加し、前の反復の機能を追加し、さらにListIteratorは、add()方法によりListセットに要素を追加することができる.
9.AraysクラスのasList()は、ArayListのインスタンスを作成することができます(固定長さは、セット内の要素を追加または削除できません).
10.Queはアナログキュー(先入先出)というデータ構造に用いられ、PriorityQue()実装クラスがあり、Deque()インターフェースがあり、Deque()インターフェースはArayDeque()とLinkdList()の二つの実装クラスを提供しています.
PriorityQue保存要素の順番は、列に入る順番ではなく、列の要素の大きさによって並べ替えられます.
キューの頭の保存キューの中で最も時間の長い要素を保存し、最後にキューの中で最も時間の短い要素を保存します.
Linked ListはList集合であり、Dequeインターフェースも実現した.
11.Javaは先にMapを実現し、そして全てのvalueをnullのMapに包装することでSetを実現しました.
12 HashMapとLinked HashMapの実現クラス
13.Properties類はhashtable類のサブクラスで、一つのkeyとvalueに相当するのはStringタイプのMapです.
14.SetインターフェースがSortedSetサブインターフェースから派生したように、MapインターフェースもSortedSetサブインターフェースから派生しています.SortedMapサブインターフェースもTreeMap実現タイプがあります.
TreeMap ,
WeakhashMapのkeyは、実際のオブジェクトに弱い参照を残しています.ゴミがそのkeyに対応する実際のオブジェクトを回収した後、WealhashMapは自動的にkeyに対応するkey-valueを削除します.WeakhashMapでkeyが引用するオブジェクトに強い引用を持たせないでください.さもなければWeakhashMapは意味を失います.