JAVA基礎篇27:集合求交集、並集、差集、補集、分片 1. 集合操作 2. 分片操作

1. 集合操作

import java.util.ArrayList;
import java.util.Collection;

import org.apache.commons.collections.CollectionUtils;

import com.google.common.collect.Lists;

public class CollectionUtilsIntro {
    public static void main(String[] args) {
        ArrayList<String> array1 = Lists.newArrayList("a", "b", "c");
        ArrayList<String> array2 = Lists.newArrayList("c", "d", "e");

        //並集
        Collection<String> union = CollectionUtils.union(array1, array2);
        //交集
        Collection<String> intersection = CollectionUtils.intersection(array1, array2);
        //交集的補集
        Collection<String> disjunction = CollectionUtils.disjunction(array1, array2);
        //集合相減
        Collection<String> subtract = CollectionUtils.subtract(array1, array2);

        System.out.println("並集:" + union);
        System.out.println("交集" + intersection);
        System.out.println("交集的補集" + disjunction);
        System.out.println("集合相減" + subtract);
    }
}

執行結果:

並集:[a, b, c, d, e]
交集:[c]
交集的補集:[a, b, d, e]
集合相減:[a, b]

2. 分片操作

import java.util.ArrayList;

import com.google.common.collect.Lists;

public class CollectionUtilsIntro {
    public static void main(String[] args) {
        ArrayList<String> array1 = Lists.newArrayList("a", "b", "c");

        //分成了兩個集合,沒一個集合又可以單獨的去處理。
        Lists.partition(array1, 2).forEach(r -> {
            System.out.println(r);
            System.out.println("----");
        });
    }
}

執行結果:

[a, b]
----
[c]
----
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章