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,实现重新定义匹配规则。