操作集合的Collections类常用方法介绍

Collections类常用方法介绍

Collections类提供了很多的静态的方法,可直接调用,用于操作集合,今天给大家介绍几种简单常用的方法。

  • public static void shuffle(List<?> list):打乱集合顺序。

  • public static void sort(List list):将集合中元素按照默认规则排序。

  • public static void sort(List list,Comparator<? super T> ):将集合中元素按照指定规则排序。

  • public static boolean addAll(Collection<? super T> c, T… elements) :一次添加多个元素,只支持单列集合(单列集合指的是Collection接口下的所有集合)。

  • public static void copy(List<? super T> dest, List<? extends T> src) :把一个集合元素复制到另一个集合中,只支持List集合

  • public static boolean disjoint(Collection<?> c1, Collection<?> c2) :判断两个集合中是否存在相同的元素,只支持单列集合。

  • public static void fill(List<? super T> list, T obj) :把集合中的所有元素都替换成、指定元素,只支持List集合

  • public static int frequency(Collection<?> c, Object o) :返回指定集合中的指定元素,没有指定元素返回0

  • public static T max(Collection<? extends T> coll) :根据自然顺序,返回集合中最大元素。

  • public static T max(Collection<? extends T> coll, Comparator<? super T> comp) :根据指定的比较器的顺序,返回最大元素。

  • public static T min(Collection<? extends T> coll) :根据自然顺序,返回集合中最小元素。

  • public static T min(Collection<? extends T> coll, Comparator<? super T> comp) :根据指定的比较器的顺序,返回给定集合的最小元素。

  • public static boolean replaceAll(List list, T oldVal, T newVal) :将集合中所有相同元素,替换成指定元素

  • public static void reverse(List<?> list) :反转集合顺序,只支持List。

  • public static void swap(List<?> list, int i, int j) :将集合中的指定元素与该元素交换。

Comparator底层

Comparator底层是用compareTo方法实现比较的。

		//创建Integer类型的集合
        ArrayList<Integer> list = new ArrayList<>();

        //添加元素
        Collections.addAll(list,1,3,8,4);

        //使用sort方法并指定规则排序
        Collections.sort(list, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                //如果是int类型的参数也可以这样写return o1-o2;但是其他类型不可以
                return o1.compareTo(o2);
            }
        });

        //打印结果
        System.out.println(list);

如果是int类型的参数也可以这样写
return o1-o2;
但是其他类型不可以

这些方法使用都很简单 都是静态方法 就不在一一演示了 直接使用Collections.方法名就可以了。

发布了33 篇原创文章 · 获赞 35 · 访问量 1586

猜你喜欢

转载自blog.csdn.net/weixin_45216092/article/details/104963118