• 45、Collections工具类


    一、基本介绍:

    1、Collections工具类
    (1)Collections是一个操作Set、List和Map等集合的工具类
    (2)Collections中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作
    2、排序操作:(均为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. package Collection_;
    2. import java.util.*;
    3. @SuppressWarnings({"all"})
    4. public class Collections_ {
    5. public static void main(String[] args) {
    6. List list=new ArrayList();
    7. list.add("tom");
    8. list.add("smith");
    9. list.add("king");
    10. list.add("milan");
    11. Collections.reverse(list);
    12. System.out.println("list="+list);
    13. //list=[milan, king, smith, tom]
    14. System.out.println("=======================");
    15. for(int i=0;i<5;i++) {
    16. Collections.shuffle(list);
    17. System.out.println("list=" + list);
    18. }
    19. //list=[milan, king, tom, smith]
    20. //list=[smith, tom, milan, king]
    21. //list=[milan, tom, king, smith]
    22. //list=[milan, tom, king, smith]
    23. //list=[tom, smith, milan, king]
    24. System.out.println("=======================");
    25. Collections.sort(list);
    26. System.out.println("list=" + list);
    27. //list=[king, milan, smith, tom]
    28. //sort(List.Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序
    29. //1、按照字符串的长度大小排序
    30. System.out.println("=======================");
    31. Collections.sort(list,new Comparator(){
    32. @Override
    33. public int compare(Object o1,Object o2){
    34. return ((String)o1).length()-((String)o2).length();
    35. }
    36. });
    37. System.out.println("list=" + list);
    38. //list=[tom, king, milan, smith]
    39. System.out.println("=======================");
    40. Collections.swap(list,0,1);
    41. System.out.println("list=" + list);
    42. //list=[king, tom, milan, smith]
    43. }
    44. }

    3、 查找、替换
    1)object max(Collection):根据元素的自然顺序(首字母顺序),返回给定集合中的最大元素

    2)Object max(Collection,Comparator):根据Comparator指定的顺序,返回给定集合中的最大元素
    3) Object min(Collection)
    4)Object min(Collection,Comparator)
    5)int frequency(Collection,Object):返回指定集合中指定元素的出现次数
    6)void copy(Listdest,Listsrc):将src中的内容复制到dest中
    7)boolean replaceAlI(List list,Object oldVal,Object newVal):使用新值替换List对象的所有旧值

    1. package Collection_;
    2. import java.util.*;
    3. @SuppressWarnings({"all"})
    4. public class Collections_ {
    5. public static void main(String[] args) {
    6. List list=new ArrayList();
    7. list.add("tom");
    8. list.add("smith");
    9. list.add("king");
    10. list.add("milan");
    11. System.out.println("list="+list);
    12. //list=[tom, smith, king, milan]
    13. System.out.println("===============================");
    14. System.out.println(Collections.max(list));
    15. //tom
    16. System.out.println("===============================");
    17. Object maxObject=Collections.max(list,new Comparator(){
    18. public int compare(Object o1,Object o2){
    19. return ((String)o1).length()-((String)o2).length();
    20. }
    21. });
    22. System.out.println(maxObject);
    23. //smith
    24. System.out.println("===============================");
    25. System.out.println(Collections.frequency(list,"tom"));
    26. //1
    27. System.out.println("===============================");
    28. ArrayList dest=new ArrayList();
    29. //源码:int srcSize = src.size();初始时,dest为null,null.size()会抛出异常
    30. for(int i=0;i
    31. dest.add("");
    32. }
    33. //为了完成一个完整拷贝,我们需要先dest赋值,大小和list.size()一样
    34. Collections.copy(dest,list);
    35. System.out.println("dest="+dest);
    36. //dest=[tom, smith, king, milan]
    37. System.out.println("===============================");
    38. Collections.replaceAll(list,"tom","汤姆");
    39. System.out.println("list="+list);
    40. //list=[汤姆, smith, king, milan]
    41. }
    42. }

  • 相关阅读:
    【数据分析】京东订单数据分析思路及Python代码
    kangle一键安装脚本
    BI行业分析思维框架 - 环保行业分析(一)
    大数据-131 - Flink CEP 案例:检测交易活跃用户、超时未交付
    自动化运维机器人(RPA)在银行IT运维领域应用场景分析
    Unity脚本判断场景内物体是否为Root Prefab的方法
    餐厅订座预约小程序的效果如何
    springboot 使用RocketMQ客户端生产消费消息DEMO
    LM2596S DC-DC可调降压模块
    Hash的底层结构
  • 原文地址:https://blog.csdn.net/weixin_72052233/article/details/128049310