• 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. }

  • 相关阅读:
    0基础学习VR全景平台篇 第108篇:全景图细节处理(下,航拍)
    说说你对promise的理解?
    鼠标监视 | 拖拽方块 | Vue
    创建和销毁对象:用静态工厂方法代替构造器
    [计算机网络]认识“协议”
    Lstm多变量时间序列预测框架|pytorch
    通用监控视频web播放方案
    智能指针简介
    【从入门到起飞】JavaAPI—BigInteger,BigDecimal的使用方法
    GPU如何统计显存占用
  • 原文地址:https://blog.csdn.net/weixin_63954483/article/details/125474454