Collections工具类

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处元素进行交换
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

@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");

        //reverse(List):反转 List中元素的顺序
        Collections.reverse(list);

        System.out.println("list = " + list);

        //shuffle(List):对List 集合元素进行随机排序
       /* for (int i = 0; i < 5; i++) {
            Collections.shuffle(list);

            System.out.println("list = " + list);
        }*/

        //sort(List):根据元素的自然顺序对指定List集合元素按升序排序
        Collections.sort(list);
        System.out.println("自然排序后");
        System.out.println("list = " + list);

        //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("按照字符串长度的大小进行排序");
        System.out.println("list = " + list);

        //swap(List, int, int):将指定list集合中的i处元素和j处元素进行交换
        Collections.swap(list, 0, 1);
        System.out.println("交换后的情况");
        System.out.println("list = " + list);
    }
}

查找、替换

  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 newVal):使用新值替换 List 对象的所有旧值
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

@SuppressWarnings({"all"})
public class Collections_ {
    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");

       //Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素
        System.out.println("自然顺序最大元素 = " + Collections.max(list));

        //Object max(Collection, Comparator):根据Comparator指定的顺序,返回给定集合中的最大元素
        //返回长度最大的元素
        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);

        //int frequency(Collection,Object):返回指定集合中指定元素的出现次数
        System.out.println("tom出现的次数 = " + Collections.frequency(list, "tom"));

        //void copy(List dest,List src):将src中的内容复制到dest中
        ArrayList list1 = new ArrayList();

        //为了完成一个完整的拷贝,我们需要先给dest赋值,大小和list.size()一样
        for (int i = 0; i < list.size(); i++) {
            list1.add("");
        }

        //拷贝
        Collections.copy(list1, list);

        System.out.println("list1 = " + list1);

        //boolean replaceAll(List list, Object oldVal, Object newVal):使用新值替换 List 对象的所有旧值
        //把tom替换成汤姆
        Collections.replaceAll(list, "tom", "汤姆");
        System.out.println("list替换后= " + list);
    }
}
posted @   摘星丶仙  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示