English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Javaにおけるツリー集合とハッシュ集合の違い

HashSetとTreeSetは集合フレームワークに属します。HashSetはSetインターフェースの実装であり、Tree setはソートされた集合を実現します。TreeSetはTreeMapによってサポートされ、HashSetはハッシュマップによってサポートされます。

順序キーハッシュセットTreeSet
1
実装 
ハッシュセットはHashTableを使用して実装されています 
TreeSetは木構造を使用して実装されています。 
2
空オブジェクト 
HashSetは空オブジェクトを1つ許可します 
TreeSetは空オブジェクトを使用することを許可しません。空指針例外をスローします。 
3
メソッド 
ハッシュセットはequalsメソッドを使用して2つのオブジェクトを比較します 
TreeSetは比較メソッドを使用して2つのオブジェクトを比較します。 
4
異構造オブジェクト 
ハッシュセットは現在、異構造オブジェクトを使用することを許可していません 
TreeSetは異構造オブジェクトを許可します 
5
注文 
HashSetはどの順序も維持しません 
TreeSetはオブジェクトのソート順序を維持します 

TreeSetの例

class TreeSetExmaple {
   public static void main(String[] args){
      TreeSet<String> treeset = new TreeSet<String>();
      treeset.add("Good");
      treeset.add("For");
      treeset.add("Health");
      //重複要素の追加
      treeset.add("Good");
      System.out.println("TreeSet : ");
      for (String temp : treeset) {
         System.out.println(temp);
      }
   }
}

出力結果

TreeSet:
   Health
   For
   Good

HashSetの例

class HashSetExample {
   public static void main(String[] args){
      HashSet<String> hashSet = new HashSet<String>();
      hashSet.add("Good");
      hashSet.add("For");
      hashSet.add("Health");
      //重複要素の追加
      hashSet.add("Good");
      System.out.println("HashSet: ");
      for (String temp : hashSet) {
         System.out.println(temp);
      }
   }
}

出力結果

TreeSet:
   Health
   Good
   For
基本チュートリアル