TreeSet主要是SortedSet在java中的实现,不允许重复,对象按升序存储。
TreeSet 的一些重要函数包括:
- 在 TreeSet 中不允许重复值,因为它实现了 SortedSet 接口。
- TreeSet 中的对象按升序存储。
- 在TreeSet 中,元素的插入顺序不保持。
TreeMap是Map接口的实现。 TreeMap 也是 NavigableMap 和 AbstractMap 类的实现。
TreeMap 的一些重要函数包括:
- 在 TreeMap 中,不允许空键(如 Map),因此会抛出 NullPointerException(多个空值可能与不同的键相关联)。
- TreeMap 不支持Entry.setValue 方法。
下面是TreeSet和TreeMap在Java中的图示:
示例 1:
Java
// Illustration of TreeMap and TreeSet in Java
import java.io.*;
import java.util.*;
class GFG {
public static void main(String[] args)
{
TreeSet<Integer> set = new TreeSet<>();
set.add(3);
set.add(4);
set.add(3);
set.add(5);
TreeMap<Integer, Integer> tm = new TreeMap<>();
tm.put(2, 4);
tm.put(3, 5);
tm.put(4, 5);
tm.put(2, 3);
System.out.println(set);
System.out.println(tm);
}
}
输出
[3, 4, 5] {2=3, 3=5, 4=5}
示例 2:
Java
// Illustration of TreeMap and TreeSet in Java
import java.io.*;
import java.util.*;
class GFG {
public static void main(String[] args)
{
TreeSet<String> l = new TreeSet<>();
l.add("geeks");
l.add("FOR");
l.add("geeks");
l.add("tutorial");
TreeMap<Integer, String> l1 = new TreeMap<>();
l1.put(1, "geeks");
l1.put(2, "FOR");
l1.put(3, "geeks");
l1.put(4, "tutorial");
System.out.println(l);
System.out.println(l1);
}
}
输出
[FOR, geeks, tutorial] {1=geeks, 2=FOR, 3=geeks, 4=tutorial}
S. 编号 |
TreeSet |
TreeMap |
---|---|---|
1. | TreeSet 在 Java 中实现SortedSet。 | TreeMap 用Java实现Map接口 |
2. | TreeSet 在java中存储单个对象。 | TreeMap存储两个Object,一键一值。 |
3. | TreeSet 不允许在 java 中重复对象。 | java中的TreeMap允许重复值。 |
4. | TreeSet 在 Java 中实现NavigableSet。 | TreeMap 在 Java 中实现NavigableMap。 |
5. | TreeSet根据对象排序。 | TreeMap 根据键排序。 |
相关用法
- Java TreeMap ceilingEntry()用法及代码示例
- Java TreeMap firstKey()用法及代码示例
- Java TreeMap pollFirstEntry()用法及代码示例
- Java TreeMap pollLastEntry()用法及代码示例
- Java TreeMap ceilingKey()用法及代码示例
- Java TreeMap clear()用法及代码示例
- Java TreeMap clone()用法及代码示例
- Java TreeMap comparator()用法及代码示例
- Java TreeMap containsKey()用法及代码示例
- Java TreeMap containsValue()用法及代码示例
- Java TreeMap entrySet()用法及代码示例
- Java TreeMap floorKey()用法及代码示例
- Java TreeMap get()用法及代码示例
- Java TreeMap headMap()用法及代码示例
- Java TreeMap higherEntry()用法及代码示例
- Java TreeMap higherKey()用法及代码示例
- Java TreeMap keySet()用法及代码示例
- Java TreeMap lastKey()用法及代码示例
- Java TreeMap lowerEntry()用法及代码示例
- Java TreeMap lowerKey()用法及代码示例
- Java TreeMap navigableKeySet()用法及代码示例
- Java TreeMap put()用法及代码示例
- Java TreeMap putAll()用法及代码示例
- Java TreeMap remove()用法及代码示例
- Java TreeMap size()用法及代码示例
注:本文由纯净天空筛选整理自sambhavshrivastava20大神的英文原创作品 Difference between TreeMap and TreeSet in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。