Apache CommonsのCollectionUtilsを使ったコレクションの操作です。
Apache Commonsの入手
mavenを使って入手
pom.xmlは、こんな感じ。
今回はコレクション操作なので、Apache Commonsの中でも「Apache Commons Collections」が対象。
1 2 3 4 5 6 | <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.4</version> </dependency> |
手動で入手
手動で入手するのであれば、以下のjarを入手することになります。
「Apache Commons IO」は依存関係がないので、手動でも簡単に手に入れられますね。
https://mvnrepository.com/repos/central
- commons-collections4-4.4.jar
※2023年6月現在です。
ちなみに、Apache License 2.0で提供されています。
Apache CommonsのCollectionUtilsを使ってリストを操作するサンプル
リストを2つ用意。
CollectionUtilsを使って、リストの積集合と和集合を取得します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import java.util.ArrayList; import java.util.List; import org.apache.commons.collections4.CollectionUtils; public class CollectionUtilsTest { public static void main(String[] args) { List<String> list1 = new ArrayList<String>(); list1.add("自動車"); list1.add("バイク"); list1.add("自転車"); List<String> list2 = new ArrayList<String>(); list2.add("徒歩"); list2.add("自転車"); list2.add("バス"); //積集合(INTERSECT) List<String> intersect = new ArrayList<String>(CollectionUtils.intersection(list1, list2)); System.out.println("intersect: " + intersect); //和集合(UNION) List<String> union = new ArrayList<String>(CollectionUtils.union(list1, list2)); System.out.println("union: " + union); } } |
実行結果
2つのリストの積集合と和集合を表示します。
1 2 | intersect: [自転車] union: [バイク, 自転車, 徒歩, 自動車, バス] |
サンプルの解説
今回は、intersectionとunionのサンプルでした。
2つともSQLのINTERSECTとUNIONの動きと同じですね。