* A:案例演示
* TreeSet保证元素唯一和比较器排序的原理及代码实现
按照字符串长度排序
重写了Comparator接口中的方法
class CompareByLen implements Comparator<String>{
@Override
public int compare(String s1, String s2) {//按照字符串长度比较
int num=s1.length()-s2.length();//长度为主要条件
return num==0?s1.compareTo(s2):num;//内容为次要条件
}
}
使用TreeSet比较器构造方法,传入重写的Comparator方法类对象
import java.awt.peer.ComponentPeer;
import java.util.Comparator;
import java.util.TreeSet;
import com.heima.bean.person;
public class Test1 {
public static void main(String[] args) {
TreeSet<String> ts=new TreeSet<>(new CompareByLen());
ts.add("ads");
ts.add("adsqwe");
ts.add("adsqweqew");
ts.add("adsdggjjdjg");
ts.add("adsqw");
System.out.println(ts);
}
}
运行结果:
[ads, adsqw, adsqwe, adsqweqew, adsdggjjdjg]