TreeSet
主要是java中SortedSet
的一个实现,其中不允许重复,对象以排序和升序存储。
TreeSet
的一些重要特征是:
- 在
TreeSet
中不允许重复的值,因为它实现了SortedSet
接口。 TreeSet
中的对象是以升序存储的。- 在
TreeSet
中,元素的插入顺序并不保持。
TreeMap
是Map接口的一个实现。TreeMap
与AbstractMap
类一起也是NavigableMap
的实现。
TreeMap
的一些重要特征是:
- 在
TreeMap
中不允许出现空键(如Map),因此会抛出NullPointerException
(多个空值可能与不同的键相关)。 TreeMap
不支持Entry.setValue
方法。
下面是Java中TreeSet
和TreeMap
的示例:
示例1:
// Illustration of TreeMap and TreeSet in Java
import java.io.*;
import java.util.*;
class YiibaiDemo {
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:
// Illustration of TreeMap and TreeSet in Java
import java.io.*;
import java.util.*;
class YiibaiDemo {
public static void main(String[] args)
{
TreeSet<String> l = new TreeSet<>();
l.add("Yiibai");
l.add("FOR");
l.add("geeks");
l.add("tutorial");
TreeMap<Integer, String> l1 = new TreeMap<>();
l1.put(1, "Yiibai");
l1.put(2, "FOR");
l1.put(3, "geeks");
l1.put(4, "tutorial");
System.out.println(l);
System.out.println(l1);
}
}
运行结果:
[FOR, Yiibai, tutorial]
{1=Yiibai, 2=FOR, 3=geeks, 4=tutorial}
Java 中TreeMap和TreeSet的区别
S. No | TreeSet | TreeMap |
---|---|---|
1 | TreeSet在Java中实现了SortedSet。 | TreeMap在Java中实现了地图接口。 |
2 | TreeSet在Java中存储一个单一的对象。 | TreeMap存储两个对象,一个键和一个值。 |
3 | TreeSet不允许java中的对象重复。 | java中的TreeMap允许值的重复。 |
4 | TreeSet在Java中实现了NavigableSet。 | 在Java中,TreeMap实现了NavigableMap。 |
5 | TreeSet是基于对象进行排序的。 | TreeMap是基于键进行排序的。 |
Java 中TreeMap和TreeSet的区别
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:Java 中TreeMap和TreeSet的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-treemap-and-treeset-in-java.html
免责声明:以上内容仅代表 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。