📌  相关文章
📜  以下代码段的输出是什么?树集<String>设置 = 新树集<String>(); set.add(&quot;B&quot;); set.add(&quot;A&quot;); set.add(&quot;D&quot;); set.add(&quot;A&quot;); for(String s : set) { System.out.print(s + &quot; &quot;); } (1)

📅  最后修改于: 2023-12-03 15:36:21.997000             🧑  作者: Mango

TreeSet

TreeSet 是一个基于红黑树结构的 Set 实现类。它维护了元素的自然排序,或者根据创建时提供的 Comparator 进行排序,具有 O(log n) 的时间复杂度,保证了元素的唯一性。

代码段
TreeSet<String> set = new TreeSet<String>();
set.add("B");
set.add("A");
set.add("D");
set.add("A");
for(String s : set) {
    System.out.print(s + " ");
}
输出结果

输出结果为:A B D

代码解释

代码首先创建了一个 TreeSet 类型的对象 set,接着向 set 中添加了 "B""A""D""A" 四个元素。

值得注意的是,由于 TreeSet 继承于 AbstractSet 并且不允许重复元素,所以第二个元素 "A" 不会被成功添加到集合中。

最后,通过 for-each 循环遍历 set的元素,并依次输出:"A""B""D"

总结

TreeSet 的排序方式是按照元素自然顺序进行排序,或者根据创建时提供的 Comparator 进行排序。在使用 TreeSet 时,需要注意重复元素的问题。