第八章集合

1971 ワード

  • エルゴード集合の方法1は、直接Lamber表現2を使用してIteratorインターフェースのhasNextを使用して()エルゴード3は、Lambada表現とforEachRemaningを使用して()エルゴード4は、forEach()を使用して
  • を巡回します.
  • 一括削除と統計集合における要素removeIf(Predicate filter):一括削除Prodcate:統計
  • Stream
    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は意味を失います.