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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP