somoene能否解释treeset是如何工作的,从而获得以下输出?非常感谢。
import java.util.*;
public class Main {
public static void main(String args[]) {
Set<String> fructe = new TreeSet<>(Arrays.asList("mere", "pere", "banane", "mere", "kiwi", "ananas", "portocale"));
System.out.println(fructe);
}
}
[ananas, banane, kiwi, mere, pere, portocale]
3条答案
按热度按时间mftmpeh81#
简单来说,你可以考虑
TreeSet
是一个Set
,其中元素是唯一的。有关进一步资料,请参阅
TreeSet
类扩展SortedSet
,Set
,Collection
及Iterable
如下图所示。因此,在
TreeSet
是唯一的,并根据实现的排序算法进行排序。要素TreeSet
必须实施Comparable
并覆盖compareTo()
方法,以便java知道如何在元素不是基元的情况下比较它们。你可以在这里找到更多信息。
希望这能帮助你解决你的问题!
nmpmafwu2#
openjdk实现使用https://en.wikipedia.org/wiki/red%e2%80%93black_tree
根据使用的构造函数,可以使用元素的自然顺序或在设置的创建时间提供的比较器对元素进行排序。
ahy6op9u3#
TreeSet
字符串的集合只是按字典顺序存储字符串。词典顺序与词典顺序相同,即单词在词典中的排序方式。如果两个字符串长度相同且在相同位置包含相同字符,则它们在词典编纂上是相等的。如果希望得到不同的结果,则可以使用自定义
Comparator
.