Java中的树集和哈希集之间的区别

哈希集和树集都属于集合框架。HashSet是Set接口的实现,而Tree set实现排序的集。树集由TreeMap支持,而HashSet由哈希映射支持。

序号哈希集树集
1
实作 
哈希集是使用HashTable实现的 
树集是使用树结构实现的。 
2
空对象 
HashSet允许一个空对象 
树集不允许使用空对象。它抛出空指针异常。 
3
方法 
哈希集使用equals方法比较两个对象 
树集使用比较方法比较两个对象。 
4
异构对象 
哈希集现在不允许使用异构对象 
树集允许异构对象 
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