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
广告