0
点赞
收藏
分享

微信扫一扫

Java - 集合 - 扩展 - Collections工具类

Collections工具类介绍

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

排序操作:(均为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 处元素进行交换
package com.taotao.collections_;


import java.util.*;

/**
 * Create By 刘鸿涛
 * 2022/1/9 20:34
 */
public class Collections_ {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");
        list.add("5");

//        1. reverse(List):反转 List 中元素的顺序
        Collections.reverse(list);
        System.out.println(list);   //[5, 4, 3, 2, 1]

//        2. shuffle(List):对List集合元素进行随机排序
        Collections.shuffle(list);
        System.out.println(list);   //[4, 1, 5, 2, 3],每次运行都是随机

//        3. sort(List):根据元素的自然顺序对指定 List 集合元素按升序排序
        Collections.sort(list);
        System.out.println(list);   //[1, 2, 3, 4, 5]

//        4. sort (List,Comparator):根据指定的 Comparator 产生的顺序对 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);

//        5. swap(List, int, int):将指定list 集合中的 i 处 元素和 j 处元素进行交换
                Collections.swap(list, 0, 4);
        System.out.println(list);   //[5, 2, 3, 4, 1]
    }
}

查找、替换

  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(List dest,List src):将src中的内容复制到dest中
  7. boolean replaceAll(List list, Object oldVal, Object new Val):使用新值替换 List 对象的所有旧制
package com.taotao.collections_;


import java.util.*;

/**
 * Create By 刘鸿涛
 * 2022/1/9 21:28
 */
public class Collection02 {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("1");
        list.add("22");
        list.add("3");
        list.add("4");
        list.add("5");
//        1. Object max(Collection): 根据元素的自然顺序,返回给定集合中的最大元素
        //自然顺序最大元素
        System.out.println(Collections.max(list));  //5
        //返回长度最大的元素
        Object text = Collections.max(list, new Comparator() {
            @Override
            public int compare(Object o1,Object o2){
                return ((String)o1).length() - ((String)o2).length();
            }
        });
        System.out.println(text);                   //22
//        2. Object max(Collection,Comparator):根据 Comparator 指定的顺序,返回给定集合中的最大元素
//        3. Object min(Collection)
//        4. Object min(Collection,Comparator)
//        5. int frequency(Collection,Object):返回指定集合中指定元素的出现次数
        System.out.println(Collections.frequency(list,"1"));        //1

//        6. void copy(List dest,List src):将src中的内容复制到dest中
        List list2 = new ArrayList();
        //为了完成一个完整的copy,我们需要先给list2 赋值,小大和list.size()一样
        for (int i = 0; i < list.size(); i++) {         //list2扩容
            list2.add("i");
        }
        Collections.copy(list2,list);                   //会抛出异常 - 索引越界,
        System.out.println(list2);                      //[1, 22, 3, 4, 5]

//        7. boolean replaceAll(List list, Object oldVal, Object new Val):使用新值替换 List 对象的所有旧制
        //如果list中,有 "1" 就替换成 "涛涛"
        Collections.replaceAll(list,"1","涛涛");
        System.out.println(list);                       //[涛涛, 22, 3, 4, 5]
    }
}

举报

相关推荐

0 条评论