TreeSet保证元素唯一和比较器排序的原理及代码实现
package com.heima.set;
import java.util.Comparator;
import java.util.TreeSet;
public class Demo09_TreeSet {
public static void main(String[] args) {
TreeSet<String> ts = new TreeSet<>(new Comparator<String>() {
@Override
public int compare(String s1, String s2) { //按照字符串的长度比较
int num = s1.length() - s2.length(); //长度为主要条件
return num == 0 ? s1.compareTo(s2) : num; //内容为次要条件
}
});
ts.add("aaaaaaaa");
ts.add("z");
ts.add("wc");
ts.add("nba");
ts.add("cba");
System.out.println(ts);
}
}
通过TreeSet的实现来重写Comparetor,实现重新定义匹配规则。
本文深入探讨了Java中TreeSet如何确保元素唯一性及自定义排序规则的实现原理。通过具体代码示例,展示了如何使用Comparator接口重写比较规则,以实现基于字符串长度和内容的复合排序。
1万+

被折叠的 条评论
为什么被折叠?



