ch 11集合フレームワーク

2078 ワード

654p ~ 668p
実装Mapの集合:シーケンスX,繰返し(キーX,値O)
データを鍵と値の対として保存し、鍵は繰り返してはいけない.値は繰り返してはいけない.
Hashtable(Old) == HashMap(New)

1.11 TreeMap

  • バイナリ検索ツリー構造、鍵と値のペアを格納データ
  • TreeSetのようにデータを並べ替え、保存時間が長い.
  • 並べ替えおよび範囲検索に役立つ集合クラス
  • HashMapよりもデータの追加と削除に時間がかかります
  • の複数のデータの中で、単独でHashMapを検索するのはTreeMapより速い.
  • 例11-34 TreeMapEx 1

    1.12 Properties

  • HashMapの旧バージョンHashTableの継承と実装
  • HashTableは「オブジェクト」(Object,Object)として鍵と値を格納、属性は「Str,Str」として格納簡略化集合クラス
  • である.
  • は、主にアプリケーションの優先パラメータに関連する属性
  • を格納するために使用される.
  • は、ファイルからのデータの読み取り及び書き込みの利便性
  • を提供する.
    例11-35)Properties Ex 1,2,3,4
    getProperty()は、Propertiesに格納されている値を取得し、取得するキーが存在しない場合は指定したデフォルト値を返します.

    1.13収集:収集の方法を提供する


    同様の有用な静的メソッド(オブジェクト、アレイ、コレクション)を提供
    なんてことだ
    1.パディングセット、レプリケーション、ソート、検索パディング、レプリケーション、sort、binarySearchなど
    同期
  • 集合—同期XXX()
  • 同期
  • セット
    マルチスレッドプログラミングでは、1つのオブジェクトが同時に複数のスレッドにアクセスできるため、データの一貫性を保つために共有オブジェクトを同期する必要がある
    ArrayList,HashMapなどの集合は自己処理同期ではなく,必要に応じて同期方法のみで同期処理を行うように変更した.
  • なんてことだ
    3.可変集合の作成-可変XXX()
  • の集合に格納データを保護するために読み取り専用とする場合は
  • である.
    List list = new ArrayList();
    list = Collections.unmodifiableList(list);
    list.add("aaa"); // 오류발생
    list.remove("0"); //예외 발생
    なんてことだ
    4.モノトーンセットの作成-モノトーンXXX()
    1つのオブジェクトのみを格納するコレクションを作成する場合は、
  • Set set = Collections.singleton("aaa");
    set.add("bbb"); //예외 발생
    なんてことだ
    5.1つのオブジェクトのみを格納するセットの作成-checkedXXX()
  • では、すべてのタイプのオブジェクトを格納できますが、セットで指定したタイプのオブジェクトのみを格納するように制限する場合は、
  • を選択できます.
  • ギネスで簡単に処理できるが,互換性のためにこれらの方法が提供されている.
  •  List list = new ArrayList();
     List checkedList= checkedList(list, String.class);
     checkedList.add("abc");
     checkedList.add(new Integer(3)); //에러발생
     
    例11-39 CollectionEx

    サマリ