【Java集合】Collections工具类

ゝ一世哀愁。 2023-09-23 22:09 290阅读 0赞

文章目录

  • 01 Collections工具类介绍
  • 02 排序操作
  • 03 查找、替换

01 Collections工具类介绍

  1. Collections 是一个操作 Set、List 和 Map 等集合的工具类;
  2. Collections 中提供了一系列静态方法对集合元素进行排序、查询和修改操作;

02 排序操作

均为static方法:

  • reverse (List):反转 List 中元素的排序;
  • shuffle (List) : 对 List 集合元素进行随机排序;
  • sort (List) : 根据元素的自然顺序对指定的 List 集合元素按升序排序;
  • sort (List,Comparator) :根据指定的 Comparator 产生的顺序对 List 集合元素进行排序;
  • swap (List ,int,int) :将指定 List 集合中的 i 处元素 和 j 处元素进行交换;

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;

    public class Collections_ {

    1. public static void main(String[] args) {
    2. //创建ArrayList集合,用于测试
    3. List list = new ArrayList();
    4. list.add("Jack");
    5. list.add("Tom");
    6. list.add("Smith");
    7. list.add("Rose");
    8. //reverse(List):反转List集合中的元素顺序
    9. Collections.reverse(list);
    10. System.out.println(list);//[Rose, Smith, Tom, Jack]
    11. //shuffle(List):对List集合进行随机排序
    12. Collections.shuffle(list);
    13. System.out.println(list);//[Rose, Tom, Smith, Jack]
    14. //sort(List):根据元素的自然顺序对指定的List集合元素按升序排序
    15. Collections.sort(list);
    16. System.out.println(list);//[Jack, Rose, Smith, Tom]
    17. //sort(List,Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序;
    18. Collections.sort(list,new Comparator(){
    19. @Override
    20. public int compare (Object o1,Object o2){
    21. //根据字符串长度大小排序
    22. return ((String)o1).length()-((String)o2).length();
    23. }
    24. });
    25. System.out.println(list);//[Tom, Jack, Rose, Smith]
    26. //swap(List,i,j): 将指定List集合中的i处元素和j处元素进行交换
    27. Collections.swap(list,1,2);
    28. System.out.println(list);//[Tom, Rose, Jack, Smith]
    29. }

    }

03 查找、替换

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

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;

    public class Collections__ {

    1. public static void main(String[] args) {
    2. //创建ArrayList集合,用于测试
    3. List list = new ArrayList();
    4. list.add("Jack");
    5. list.add("Tom");
    6. list.add("Smith");
    7. list.add("Rose");
    8. // Object max ( Collection ) :根据元素的自然顺序,返回给定集合中的最大元素;
    9. System.out.println("自然顺序最大值 = "+ Collections.max(list));//Tom
    10. // Object max ( Collection , Comparator ) :根据 Comparator 指定的顺序,返回给定集合中的最大元素;
    11. //返回长度最大的元素:
    12. Collections.max(list, new Comparator() {
    13. @Override
    14. public int compare(Object o1 , Object o2){
    15. return ((String)o1).length()-((String)o2).length();
    16. }
    17. });
    18. // Object min ( Collection )
    19. // Object min ( Collection , Comparator)
    20. // int frequency ( Collection , Object ) : 返回指定集合中指定元素的出现次数;
    21. System.out.println(Collections.frequency(list,"Rose"));//1
    22. list.add("Rose");
    23. System.out.println(Collections.frequency(list,"Rose"));//2
    24. // void copy ( List dest , List src ) : 将 src 中的内容复制到 dest 中;
    25. //为了完成一个完整拷贝,需要先给dest赋值,大小和list.size()一样
    26. ArrayList dest = new ArrayList();
    27. for(int i=0;i<list.size();i++){
    28. dest.add(null);
    29. }
    30. Collections.copy(dest,list);
    31. System.out.println(dest);//[Jack, Tom, Smith, Rose, Rose]
  1. // boolean replaceAll ( List list , Object oldVal , Object newVal ) : 使用新值替换List对象的所有旧值;
  2. //如果list中有tom,就替换为汤姆
  3. Collections.replaceAll(list,"Tom","汤姆");
  4. System.out.println(list);//[Jack, 汤姆, Smith, Rose, Rose]
  5. }
  6. }

发表评论

表情:
评论列表 (有 0 条评论,290人围观)

还没有评论,来说两句吧...

相关阅读