快捷搜索:

集合操作的利器——CollectionUtils

应用 CollectionUtils 中四个措施之一履行聚拢操作.这四种分手是 union(),intersection();disjunction(); subtract();

下列例子便是演示了若何应用上述四个措施处置惩罚两个 Collection;

注: 这些措施都是数学的聚拢算法

import java.util.Arrays;

import java.util.Collection;import java.util.Collections;

import java.util.List;

import org.apache.commons.collections.CollectionUtils;import org.apache.commons.lang.ArrayUtils;

public class CollectionUtilsIntro {

@SuppressWarnings("unchecked")public static void main(String[] args) {

String[] arrayA = new String[] { "1", "2", "3", "3", "4", "5" };String[] arrayB = new String[] { "3", "4", "4", "5", "6", "7" };

List a = Arrays.asList(arrayA);

List b = Arrays.asList(arrayB);//并集

Collection union = CollectionUtils.union(a, b);//交集

Collection intersection = CollectionUtils.intersection(a, b);//交集的补集

Collection disjunction = CollectionUtils.disjunction(a, b);//聚拢相减

Collection subtract = CollectionUtils.subtract(a, b);

Collections.sort((List) union);Collections.sort((List) intersection);

Collections.sort((List) disjunction);Collections.sort((List) subtract);

System.out.println("A: " + ArrayUtils.toString(a.toArray()));

System.out.println("B: " + ArrayUtils.toString(b.toArray()));System.out.println("--------------------------------------------");

System.out.println("Union(A, B): " + ArrayUtils.toString(union.toArray()));System.out.println("Intersection(A, B): " + ArrayUtils.toString(intersection.toArray()));

System.out.println("Disjunction(A, B): " + ArrayUtils.toString(disjunction.toArray()));System.out.println("Subtract(A, B): " + ArrayUtils.toString(subtract.toArray()));

}}

输出如下:

A: {1,2,3,3,4,5}

B: {3,4,4,5,6,7}

--------------------------------------------

Union(A, B): {1,2,3,3,4,4,5,6,7}

Intersection(A, B): {3,4,5}

Disjunction(A, B): {1,2,3,4,6,7}

Subtract(A, B): {1,2,3}

--------------------------------------------------------------------------------------

您可能还会对下面的文章感兴趣: