java CollectionUtils - コレクション同士の演算 2007/07/24

jakarta commonsのcollectionsです。
コレクション同士の演算です。
なかなか使う機会がないので試してみました。


集合の共通部分(intersection, meet)または積集合(product)を計算します。
A∩B

です。

package ccc;

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

import org.apache.commons.collections.CollectionUtils;

public class C {

public static void main(String[] args) {
a();
}

public static void a(){
class D {
String s;
public String toString(){
return s;
}
}
D d = new D();
d.s = "i am D.";

List<D> a = new ArrayList<D>();
List<D> b = new ArrayList<D>();

a.add(d);
b.add(d);

/* 積集合 */
Collection<D> e = CollectionUtils.intersection(a, b);
System.out.println(e.size());
System.out.println(e.toArray()[0]);

}
}

: