集合—Collections工具类

本文详细介绍了Java集合框架中的Collections工具类,包括其提供的各种排序、查找、替换等操作方法,并通过实例展示了如何使用这些方法,如reverse、shuffle、sort、swap等,以及如何找到集合中的最大和最小元素,复制、替换元素等操作。
摘要由CSDN通过智能技术生成

本次博客带领大家了解集合中的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处元素进行交换。

查找、替换操作:

  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对象的所有旧值。

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");
//        1. reverse(List):反转List中元素的顺序。
        Collections.reverse(list);
        System.out.println("list="+list);
//        2. shuffle(List):对List集合元素进行随机排序。
        Collections.shuffle(list);
        System.out.println("list="+list);
//        3. sort(List):根据元素的自然顺序对指定List集合元素按升序排序。
        Collections.sort(list);
        System.out.println("自然排序后");
        System.out.println("list="+list);
//        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("按照字符串长度排序");
        System.out.println("list="+list);
//        5. swap(List,int,int):将指定list集合中的i处元素和j处元素进行交换。
        Collections.swap(list,0,3);
        System.out.println("交换后的情况");
        System.out.println("list="+list);

//        1. Object max(Collection):根据元素的自然排序,返回给定集合中的最大元素。
        System.out.println("自然顺序最大元素="+Collections.max(list));
//        2. 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);
//        3. Object min(Collection)
//        4. Object min(Collection,Comparator)
//          上面的两个方法,参考max即可
//        5. int frequency(Collection,Object):返回指定集合中指定元素的出现次数。
        System.out.println("tom出现的次数="+Collections.frequency(list,"tom"));
//        6. void copy(List dest,List src):将src中的内容复制到dest中。
        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);
//        7. boolean replaceAll(List list,Object oldVal,Object newVal):使用新值替换List对象的所有旧值。
        Collections.replaceAll(list,"tom","汤姆");
        System.out.println("list替换后="+list);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值