在一个集合中存储了无序并且重复的字符串,定义一个方法,让其有序(字典顺序),而且还不能去除重复

    1. public static void main(String[] args) {
    2. ArrayList<String> list = new ArrayList<>();
    3. list.add("ccc");
    4. list.add("ccc");
    5. list.add("aaa");
    6. list.add("aaa");
    7. list.add("bbb");
    8. list.add("ddd");
    9. list.add("ddd");
    10. sort(list);
    11. System.out.println(list);
    12. }
    13. /*
    14. * 对集合中的元素排序,并保留重复
    15. * 1,void
    16. * 2,List<String> list
    17. */
    18. public static void sort(List<String> list) {
    19. TreeSet<String> ts = new TreeSet<>(new Comparator<String>() { //定义比较器(new Comparator(){}是Comparator的子类对象)
    20. @Override
    21. public int compare(String s1, String s2) { //重写compare方法
    22. int num = s1.compareTo(s2); //比较内容
    23. return num == 0 ? 1 : num; //如果内容一样返回一个不为0的数字即可
    24. }
    25. });
    26. ts.addAll(list); //将list集合中的所有元素添加到ts中
    27. list.clear(); //清空list
    28. list.addAll(ts); //将ts中排序并保留重复的结果在添加到list中
    29. }