treeset 带有排序么
时间: 2023-07-01 11:19:52 浏览: 72
java中treemap和treeset实现红黑树
是的,Java中的TreeSet是有序的集合,它对元素进行排序。TreeSet中的元素默认按照其自然排序规则进行排序,如果要自定义排序规则,则需要在创建TreeSet时传入一个Comparator比较器对象。
举个例子,如果我们要创建一个按照字符串长度排序的TreeSet,可以这样写:
```java
TreeSet<String> treeSet = new TreeSet<>(new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.length() - s2.length();
}
});
treeSet.add("apple");
treeSet.add("banana");
treeSet.add("pear");
for (String str : treeSet) {
System.out.println(str);
}
```
运行结果为:
```
pear
apple
banana
```
在这个例子中,我们通过传入一个实现了Comparator接口的匿名内部类来定义了排序规则,比较方法中返回的是两个字符串长度的差值,这样就可以按照字符串长度进行排序了。
阅读全文