Java集合常见处理工具

发布于:2022-10-21 ⋅ 阅读:(516) ⋅ 点赞:(0)

目录

一、Collections

二、CollectionUtils


一、Collections

所在包:import java.util.Collections;

常见用法:

1.最大值/最小值

public static void testCollections() {
    List<Integer> list = new ArrayList<>();
    list.add(4);
    list.add(1);
    list.add(3);
    list.add(2);

    Integer max = Collections.max(list);
    System.out.println("最大值:" + max);    // 4

    Integer min = Collections.min(list);
    System.out.println("最小值:" + min);    // 1
}

2.排序

public static void testCollections() {
    List<Integer> list = new ArrayList<>();
    list.add(4);
    list.add(1);
    list.add(3);
    list.add(2);

    Collections.sort(list);
    System.out.println("正序:" + list);    //正序:[1, 2, 3, 4]

    Collections.reverse(list);
    System.out.println("倒序:" + list);    //倒序:[4, 3, 2, 1]
}

Collections中还有很多相关方法,感兴趣的可以自己尝试,在此就不一一列举。

二、CollectionUtils

所在包:import org.apache.commons.collections4.CollectionUtils;

依赖:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.4</version>
</dependency>

常见用法:

1.并集/交集/补集/差集

public static void testCollectionUtils() {
    List<Integer> list1 = new ArrayList<>();
    list1.add(4);
    list1.add(1);
    list1.add(3);
    list1.add(2);

    List<Integer> list2 = new ArrayList<>();
    list2.add(5);
    list2.add(4);

    // 获取并集
    Collection<Integer> unionList = CollectionUtils.union(list1, list2);
    System.out.println("并集:" + unionList);

    // 获取交集
    Collection<Integer> intersectionList = CollectionUtils.intersection(list1, list2);
    System.out.println("交集:" + intersectionList);

    // 获取交集的补集
    Collection<Integer> disjunctionList = CollectionUtils.disjunction(list1, list2);
    System.out.println("交集的补集:" + disjunctionList);

    // 获取差集
    Collection<Integer> subtractList = CollectionUtils.subtract(list1, list2);
    System.out.println("差集" + subtractList);
}

结果如下:

 2.集合是否为空

public static void testCollectionUtils() {
    List<String> stringList = new ArrayList<>();
    boolean empty = CollectionUtils.isEmpty(stringList);
    System.out.println("集合是否为空:"+ empty);    // 集合是否为空:true
}

3.两个集合是否相等

 public static void testCollectionUtils() {
    // 判断两个集合是否相等
    List<Integer> list3 = new ArrayList<>();
    list3.add(3);
    list3.add(4);

    List<Integer> list4 = new ArrayList<>();
    list4.add(3);
    list4.add(4);

    boolean equalCollection1 = CollectionUtils.isEqualCollection(list3, list4);
    System.out.println("两个集合是否相等:" + equalCollection1);    // 两个集合是否相等:true

    // 加一个元素
    list4.add(5);
    boolean equalCollection2 = CollectionUtils.isEqualCollection(list3, list4);
    System.out.println("两个集合是否相等:" + equalCollection2);    // 两个集合是否相等:false
}

同样CollectionUtils也还有很多实用的方法,可自行尝试。

学会运用一些开发工具包能一定程度上提高日常的开发效率,本文仅起到一个抛砖引玉的作用。


网站公告

今日签到

点亮在社区的每一天
去签到