Java での ArrayList から LinkedHashSet への変換

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ConcurrentandNetworkProgrammingGroup(["Concurrent and Network Programming"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/DataStructuresGroup(["Data Structures"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java/BasicSyntaxGroup -.-> java/for_loop("For Loop") java/BasicSyntaxGroup -.-> java/output("Output") java/DataStructuresGroup -.-> java/collections_methods("Collections Methods") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/arraylist("ArrayList") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/linkedlist("LinkedList") java/FileandIOManagementGroup -.-> java/stream("Stream") java/ConcurrentandNetworkProgrammingGroup -.-> java/working("Working") subgraph Lab Skills java/for_loop -.-> lab-117469{{"Java での ArrayList から LinkedHashSet への変換"}} java/output -.-> lab-117469{{"Java での ArrayList から LinkedHashSet への変換"}} java/collections_methods -.-> lab-117469{{"Java での ArrayList から LinkedHashSet への変換"}} java/classes_objects -.-> lab-117469{{"Java での ArrayList から LinkedHashSet への変換"}} java/arraylist -.-> lab-117469{{"Java での ArrayList から LinkedHashSet への変換"}} java/linkedlist -.-> lab-117469{{"Java での ArrayList から LinkedHashSet への変換"}} java/stream -.-> lab-117469{{"Java での ArrayList から LinkedHashSet への変換"}} java/working -.-> lab-117469{{"Java での ArrayList から LinkedHashSet への変換"}} end

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");
    }
}

stream 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 の両方を表示しました。