java TreeSet比较器排序
程序员文章站
2022-07-09 22:35:38
...
public class Main10 {
public static void main(String[] args) {
TreeSet<String> ts = new TreeSet<>(new ComPareByLen());
ts.add("aaaaaa");
ts.add("z");
ts.add("wc");
ts.add("nba");
System.out.println(ts);
}
}
class ComPareByLen implements Comparator<String> {
@Override
public int compare(String o1, String o2) {//按照字符串长度比较
int num = o1.length() - o2.length();
return num == 0?o1.compareTo(o2):num;
}
}
一个例子:
package cn.jkc.collection3;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.TreeSet;
/**
*
*
* @author xty
* 在一个集合中存储了无序并且重复的字符串,定义一个方法,让其有序(字典顺序),而且还不能去除重复
*
*/
public class Patest1 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
addList(list);
TreeSet<String> ts = new TreeSet<>(new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
int num = s1.compareTo(s2);
return num == 0 ? 1 : num;
}
});
ts.addAll(list);
list.clear();
list.addAll(ts);
System.out.println(list);
}
private static void addList(ArrayList<String> list) {
list.add("ddddd");
list.add("abbb");
list.add("abbb");
list.add("cccccc");
}
}
上一篇: 比较器排序TreeSet
下一篇: 学习博客:TreeSet的比较器排序