[Java] TreeSet


Javaによる定式学習の内容をまとめた.

TreeSet


1.特徴

  • は、バイナリ検索ツリー(binary search tree)データ構造の形式でデータを格納する集合クラスである.
  • は,ソート,検索,範囲検索において高い性能を示した.
  • 1-2. バイナリ検索ツリー


  • バイナリツリー(binary tree)はチェーンテーブルのように複数のノードが相互に接続され、各ノードはルートと呼ばれるノードから最大2つのノードを接続することができます.
  • class TreeNode {
    	TreeNode left;  //왼쪽 자식 노드
            Object element;  // 객체를 저장하기 위한 참조 변수
            TreeNode right;  // 오른쪽 자식 노드
    }
  • コードで以下のように表現される.
  • バイナリ検索ツリー(binary search tree)は、親ノードの値より小さいサブノードを左側に格納し、右側に大きな値のサブノードを格納するバイナリツリーです.
  • ビットに示すように、ツリーの左の最後のレベルは最小値であり、右の最後のレベルは最大値である.
  • ですが、パソコンは自分で値段を比較できないので、標準が必要です.
    TreeSetに格納されているオブジェクトは、Compareableを実装するか、2つのオブジェクトの比較基準を知らせるためにTreeSetにCompareatorを提供する必要があります.
  • の格納値の個数に比べて検索時間は増加するが,検索効率は高い.
    つまり、ノードの追加と削除には時間がかかりますが、検索とソートに便利です.
  • TreeSetは、値を保存するときにソートされ、ソート操作を必要としません.
  • 2.方法


    2-1. 生成者

  • TreeSet()-デフォルトの作成者、指定したオブジェクトのCompareable
  • を使用
  • ツリーセット(Comparator Comp)-指定したソート条件でソートするツリーセット
  • を作成します.

    2-2. TreeSet唯一の方法

  • オブジェクト天井(Object o)-指定されたオブジェクトと同じオブジェクトを返し、指定されたオブジェクトがない場合、指定されたオブジェクトの値よりも近い値のオブジェクトを返し、ない場合null(上向き)
  • を返します.
  • オブジェクトレイヤ(Object o)-指定されたオブジェクトと同じオブジェクトを返し、指定されたオブジェクトがない場合、指定されたオブジェクトの最小値より小さいオブジェクトを返し、ない場合null(減算)
  • を返します.
  • SortedSetヘッダー・セット-指定したオブジェクトの値より小さいオブジェクト(範囲検索)
  • を返します.
  • SortedSet-指定したオブジェクトの値より大きいオブジェクト(範囲検索)
  • を返します.
  • SortedSetサブセット-戻り(範囲検索)