6、Collections工具类
阅读原文时间:2023年07月10日阅读:1
  1. Collections 是一个操作 Set、List 和 Map 等集合的工具类

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

  3. reverse(List):反转List 中元素的顺序

  4. shuffle(LIst):对List 集合元素进行随机排序

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

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

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

    package com.hspedu.collections_;
    
    import java.util.*;
    
    @SuppressWarnings({"all"})
    public class Collections_ {
        public static void main(String[] args) {
        //创建ArrayList 集合,用于测试
        List list = new ArrayList();
        list.add("tom");
        list.add("smith");
        list.add("king");
        list.add("milan");
        System.out.println(list);
    
        Collections.reverse(list);
        System.out.println(list);
    
        Collections.shuffle(list);
        System.out.println(list);
    
        Collections.sort(list);
        System.out.println(list);
    
        Collections.sort(list, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                return ((String) o1).length() - ((String) o2).length();
            }
        });
        System.out.println(list);
    
        Collections.swap(list,0,1);
        System.out.println(list);
    
    }
    } /* 运行结果: [tom, smith, king, milan] [milan, king, smith, tom] [milan, smith, king, tom] [king, milan, smith, tom] [tom, king, milan, smith] [king, tom, milan, smith] */
  8. Object max(Collection): 根据元素的自然顺序,返回给定集合中的最大元素

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

  10. Object min(collection)

  11. Object min(Collection, Comparator)

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

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

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

    package com.hspedu.collections_;

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

    @SuppressWarnings({"all"})
    public class Collections_1 {
    public static void main(String[] args) {

        //创建ArrayList 集合,用于测试
        List list = new ArrayList();
        list.add("tom");
        list.add("tom");
        list.add("smith");
        list.add("king");
        list.add("milan");
        System.out.println(list);
    System.out.println(Collections.max(list));
    
    Object maxObject = Collections.max(list, new Comparator() {
        @Override
        public int compare(Object o1, Object o2) {
            return ((String) o1).length() - ((String) o2).length();
        }
    });
    System.out.println(maxObject);
    
    System.out.println("tom 出现的次数= " + Collections.frequency(list,"tom"));
    
    ArrayList dest = new ArrayList();
    //为了完成一个完整拷贝,我们需要先给dest 赋值,大小和list.size()一样
    for (int i = 0; i < list.size(); i++) {
        dest.add("");
    }
    Collections.copy(dest,list);
    System.out.println("dest= " + dest);
    
    Collections.replaceAll(list,"tom","汤姆");
    System.out.println(list);
    }

    }
    /*
    运行结果:
    [tom, tom, smith, king, milan]
    tom
    smith
    tom 出现的次数= 2
    dest= [tom, tom, smith, king, milan]
    [汤姆, 汤姆, smith, king, milan]

    */