この簡単なチュートリアルでは、リストから重複する要素を整理する方法を説明します。まずプレーンJava、次にGuava、そして最後にJava 8 Lambdaベースのソリューションを使用します。

この記事はリンクの一部です:/java-tutorial[The Java – Back to Basic ** ]シリーズ。


1普通のJava

を使ってリストから重複を取り除く

標準のJava Collections Frameworkを使用してListから重複した要素を削除するのは、

Set

によって簡単に実行できます。

public void
  givenListContainsDuplicates__whenRemovingDuplicatesWithPlainJava__thenCorrect() {
    List<Integer> listWithDuplicates = Lists.newArrayList(0, 1, 2, 3, 0, 0);
    List<Integer> listWithoutDuplicates = new ArrayList<>(
      new HashSet<>(listWithDuplicates));

    assertThat(listWithoutDuplicates, hasSize(4));
}

ご覧のとおり、元のリストは変更されていません。