Java での ArrayList から LinkedHashSet への変換

JavaBeginner
オンラインで実践に進む

はじめに

この実験では、Java で ArrayList を LinkedHashSet に変換する方法を学びます。LinkedHashSet は、Java でリンクリストデータ構造を利用して Set を実装するクラスであり、配列のようなリストを一意のデータコレクションに変換したい場合に便利です。LinkedHashSet は一意のデータを収集するために使用されます。

ArrayList を作成する

Java で ArrayList を作成し、add() メソッドを使用していくつかの要素を追加します。

import java.util.ArrayList;

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");
    }
}

ストリーム API を使って ArrayList を LinkedHashSet に変換する

Java 8 の stream API を使って ArrayList を LinkedHashSet に変換することができます。Collectors.toCollection() メソッドは、ArrayList の要素を LinkedHashSet に収集して一意の要素を取得します。

import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.stream.Collectors;

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");

        //stream API を使って ArrayList を LinkedHashSet に変換する
        LinkedHashSet<String> linkedHashSet = arrayList.stream().collect(Collectors.toCollection(LinkedHashSet::new));
    }
}

add() メソッドを使って ArrayList を LinkedHashSet に変換する

add() メソッドを使って要素を 1 つずつ追加し、一意の要素のコレクションを取得することで、ArrayList を LinkedHashSet に変換することもできます。

import java.util.ArrayList;
import java.util.LinkedHashSet;

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");

        //add() メソッドを使って ArrayList を LinkedHashSet に変換する
        LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>();
        for (String element : arrayList) {
            linkedHashSet.add(element);
        }
    }
}

コンストラクタを使って ArrayList を LinkedHashSet に変換する

ArrayList を LinkedHashSet のコンストラクタに引数として渡すことで、LinkedHashSet を取得することもできます。

import java.util.ArrayList;
import java.util.LinkedHashSet;

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");

        //コンストラクタを使って ArrayList を LinkedHashSet に変換する
        LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>(arrayList);
    }
}

ArrayList と LinkedHashSet を表示する

ArrayList を LinkedHashSet に変換した後、それら両方を表示して一意の要素を確認しましょう。

import java.util.ArrayList;
import java.util.LinkedHashSet;

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");

        //コンストラクタを使って ArrayList を LinkedHashSet に変換する
        LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>(arrayList);

        //ArrayList を表示する
        System.out.println("ArrayList: " + arrayList);

        //LinkedHashSet を表示する
        System.out.println("LinkedHashSet: " + linkedHashSet);
    }
}

コードをコンパイルして実行する

ターミナル ウィンドウを開き、コード ファイルが保存されているディレクトリに移動します。javac コマンドを使ってコードをコンパイルし、java コマンドを使って実行します。

javac ArrayListToLinkedHashSet.java
java ArrayListToLinkedHashSet

まとめ

この実験では、Java で ArrayList を LinkedHashSet に変換する 3 つの異なる方法(ストリーム API、add() メソッド、およびコンストラクタ)を学びました。また、一意の要素を確認するために、ArrayList と LinkedHashSet の両方を表示しました。