Java TreeMap和TreeSet的区别
TreeSet 主要是java中SortedSet的一个实现,其中不允许重复,对象以排序和升序的方式存储。
树组的一些重要特征是:
- 在TreeSet中不允许有重复的值,因为它实现了SortedSet接口。
- TreeSet中的对象是按升序存储的。
- 在TreeSet中,元素的插入顺序并不保持。
TreeMap 是Map接口的一个实现。TreeMap也是NavigableMap和AbstractMap类的一个实现。
树状图的一些重要特征是:_
- 在TreeMap中,不允许出现空键(像Map),因此会抛出NullPointerException(多个空值可能与不同的键相关)。
- TreeMap不支持Entry.setValue方法。
下面是Java中TreeSet和TreeMap的图示。
示例 1:
输出
示例 2:
输出
S.No. | TreeSet | TreeMap |
---|---|---|
1. | TreeSet在Java中实现了SortedSet。 | 树状图在Java中实现了Map接口 |
2. | TreeSet在java中存储了一个单一的对象。 | TreeMap存储了两个对象,一个键和一个值。 |
3. | TreeSet不允许重复java中的Object。 | java中的TreeMap允许值的重复。 |
4. | TreeSet在Java中实现了NavigableSet。 | TreeMap在Java中实现了NavigableMap。 |
5. | TreeSet是根据对象来排序的。 | TreeMap是根据键来排序的。 |