Java 中的树集和哈希集之间的差异


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

序号哈希集树集
1
实现 
哈希集使用 HashTable 实现 
树集使用树形结构实现。 
2
空对象 
HashSet 允许空对象 
树集不允许空对象。它会抛出空指针异常。 
3
方法 
哈希集使用 equals 方法比较两个对象 
树集使用 compare 方法比较两个对象。 
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");
      //Add Duplicate Element
      treeset.add("Good");
      System.out.println("TreeSet : ");
      for (String temp : treeset) {
         System.out.println(temp);
      }
   }
}

输出

TreeSet:
   For
   Good
   Health

HashSet 示例

class HashSetExample {
   public static void main(String[] args){
      HashSet<String> hashSet = new HashSet<String>();
      hashSet.add("Good");
      hashSet.add("For");
      hashSet.add("Health");
      //Add Duplicate Element
      hashSet.add("Good");
      System.out.println("HashSet: ");
      for (String temp : hashSet) {
         System.out.println(temp);
      }
   }
}

输出

HashSet:
   Health
   For
   Good

更新日期:2021-04-24

16K+ 次浏览

开启你的 职业生涯

通过完成课程来获得认证

开始
广告