import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;
public class Tets4 {
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();
list.add("ccc");
list.add("ccc");
list.add("aaa");
list.add("aaa");
list.add("bbb");
list.add("ddd");
list.add("ddd");
//定义方法对其排序保留重复
sort(list);
System.out.println(list);
}
// 1.定义方法,排序并保留重复
// 2.创建TreeSet集合进行排序,因为本身String就具备比较功能,但是不会被保留,所以我们用比较器
// 3.将list集合中所以的元素添加到TreeSet集合中,对其排序保留
// 4.清空list集合
// 5.将TreeSet集合中排好序的元素添加到list集合中
public static void sort(List<String> list) {
// 2.创建TreeSet集合进行排序,因为本身String就具备比较功能,但是不会被保留,所以我们用比较器
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;
}
});
// 3.将list集合中所以的元素添加到TreeSet集合中,对其排序保留
ts.addAll(list);
list.clear();
list.addAll(ts);
}
}
运行结果:
[aaa, aaa, bbb, ccc, ccc, ddd, ddd]