Java 集合工具类Collections

1. java.util.Collections

@Test
public void collections() {
    List list = Lists.newArrayList("333", "111", "222");

    Collections.sort(list);

    // 元素反转
    Collections.reverse(list);

    String max = Collections.max(list);
    String min = Collections.min(list);

}

2. Apache 工具类 CollectionUtils

2.1 判空

import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;

public class CollectionDemo {
    @Test
    public void collectionUtils() {
        List list = Lists.newArrayList("333", "111", "222");
        boolean empty = CollectionUtils.isEmpty(list);

        Map map = new HashMap();
        boolean empty1 = MapUtils.isEmpty(map);

    }
}

2.2 addAll()

@Test
public void collectionUtils() {
    List list = Lists.newArrayList("333", "111", "222");
    String codes = "11,22,33";
    CollectionUtils.addAll(list, codes.split(","));
}

2.3 并集

@Test
public void union() {
    List list = Lists.newArrayList("1", "2", "3");
    List list2 = Lists.newArrayList("3", "4", "5");

    Collection union = CollectionUtils.union(list, list2);
    // union: [1, 2, 3, 4, 5]
}

2.4 交集

@Test
public void intersection() {
    List list = Lists.newArrayList("1", "2", "3");
    List list2 = Lists.newArrayList("3", "4", "5");

    Collection intersection = CollectionUtils.intersection(list, list2);
    // intersection: [3]
}

2.5 差集

@Test
public void subtract() {
    List list = Lists.newArrayList("1", "2", "3");
    List list2 = Lists.newArrayList("3", "4", "5");

    // list 扣除 list2
    Collection intersection = CollectionUtils.subtract(list, list2);
    // intersection: [1, 2]


    Collection intersection2 = CollectionUtils.subtract(list2, list);
    // intersection2: [4, 5]
}

2.6 析取 (交集的补集)

@Test
public void disjunction() {
    List list = Lists.newArrayList("1", "2", "3");
    List list2 = Lists.newArrayList("3", "4", "5");

    Collection disjunction = CollectionUtils.disjunction(list, list2);
    // disjunction: [1, 2, 4, 5]
    System.out.println(disjunction);
}

【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容