• java(Collections工具类)


    1、Collections是一个操作Set、List和Map等集合的工具类

    2、Collection中提供了一系列静态的方法对集合元素进行排序、查找和修改等操作

    排序操作(均为static方法):

    1、reverse(List):反转List中元素的顺序

    2、shuffle(List):对List集合元素进行随机排序

    3、sort(List):根据元素的自然顺序对指定List集合元素按升序排序

    4、sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序

    5、swap(List,int,int):将指定List集合中的i处元素和j处元素进行交换

    1. import java.util.*;
    2. public class Study {
    3. @SuppressWarnings({"all"})
    4. public static void main(String[] args) {
    5. ArrayList arrayList = new ArrayList();
    6. arrayList.add("tom");
    7. arrayList.add("jary");
    8. arrayList.add("smith");
    9. arrayList.add("jack");
    10. //reverse(List)
    11. Collections.reverse(arrayList);
    12. System.out.println("反转后:"+arrayList);
    13. //shuffle(List)
    14. Collections.shuffle(arrayList);
    15. System.out.println(arrayList);
    16. //sort(List)自然排序,类型需要一致
    17. Collections.sort(arrayList);
    18. System.out.println("自然排序后:"+arrayList);
    19. //sort(List,Comparator)根据指定的Comparator产生的顺序对List集合进行排序
    20. Collections.sort(arrayList, new Comparator() {
    21. @Override
    22. public int compare(Object o1, Object o2) {
    23. if (o1 instanceof String && o2 instanceof String)
    24. return ((String) o1).length() - ((String) o2).length();
    25. return 0;
    26. }
    27. });
    28. System.out.println("指定排序后:"+arrayList);
    29. //swap(List,int,int)
    30. Collections.swap(arrayList,1,2);
    31. System.out.println("交换后:"+arrayList);
    32. }
    33. }

    查找与替换:

    1、Object max(Collection):根据元素的自然排序,返回给定集合中的最大元素

    2、Object max(Collection,Comparator):根据Comparator指定的顺序返回给定集合中最大元素

    3、Object min(Collevtion)

    4、Object max(Collection,Comparator)

    5、int frequency(Collection,Object):返回指定集合中指定元素的出现次数

    6、void copy(List dest,List src):将src中的内容复制到dest中

    7、boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List对象的所有旧值

    1. public class Study {
    2. @SuppressWarnings({"all"})
    3. public static void main(String[] args) {
    4. ArrayList arrayList = new ArrayList();
    5. arrayList.add("tom");
    6. arrayList.add("jary");
    7. arrayList.add("smith");
    8. arrayList.add("jack");
    9. //max
    10. System.out.println(Collections.max(arrayList));
    11. System.out.println(Collections.max(arrayList, new Comparator() {
    12. @Override
    13. public int compare(Object o1, Object o2) {
    14. return ((String) o1).length() - ((String) o2).length();
    15. }
    16. }));
    17. //frequency
    18. System.out.println(Collections.frequency(arrayList,"tom"));
    19. //copy
    20. ArrayList dest = new ArrayList(Arrays.asList(new String[arrayList.size()]));
    21. // for (int i = 0; i < arrayList.size(); i++) {
    22. // dest.add("");
    23. // }
    24. Collections.copy(dest,arrayList);
    25. System.out.println(dest);
    26. }
    27. }

  • 相关阅读:
    Linux磁盘分区快速上手(讲解详细)
    python基本类型
    【PAT甲级 - C++题解】1114 Family Property
    synchronized的锁策略及优化过程
    LeetCode 230.二叉搜索树中第K小的元素
    leetcode:762. 二进制表示中质数个计算置位
    支持中文!秒建 wiki 知识库的开源项目,构建私人知识网络
    《机器学习实战》学习笔记(十三)
    【计算机网络】IP数据报首部格式、最大传输单元MTU、最大分段大小MSS
    HTML学习总结
  • 原文地址:https://blog.csdn.net/weixin_63954483/article/details/125474454