ArrayList を LinkedList に変換する

JavaJavaBeginner
今すぐ練習

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

はじめに

この実験では、Java で ArrayListLinkedList に変換する方法を学びます。両方ともリストを実装するために使用されるクラスですが、ArrayList は配列のようなリストにデータを格納し、LinkedList はリンクリストデータ構造を使用します。ArrayListLinkedList に変換するためのいくつかの方法を見ていきます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL 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/output("Output") java/DataStructuresGroup -.-> java/collections_methods("Collections Methods") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/constructors("Constructors") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/arraylist("ArrayList") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/linkedlist("LinkedList") java/FileandIOManagementGroup -.-> java/stream("Stream") subgraph Lab Skills java/output -.-> lab-117417{{"ArrayList を LinkedList に変換する"}} java/collections_methods -.-> lab-117417{{"ArrayList を LinkedList に変換する"}} java/constructors -.-> lab-117417{{"ArrayList を LinkedList に変換する"}} java/arraylist -.-> lab-117417{{"ArrayList を LinkedList に変換する"}} java/linkedlist -.-> lab-117417{{"ArrayList を LinkedList に変換する"}} java/stream -.-> lab-117417{{"ArrayList を LinkedList に変換する"}} end

ArrayList を作成する

まずは、文字列要素を含む ArrayList を作成します。

import java.util.ArrayList;

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

コードを実行するには、ターミナルを開き、Java ファイルが含まれるディレクトリに移動します。その後、次のコマンドを使用してコードをコンパイルして実行します。

javac Main.java && java Main

次の出力が表示されるはずです。

[Mango, Apple, Orange]

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

ArrayListLinkedList に変換する最も簡単な方法は、コンストラクタを使うことです。ArrayListLinkedList コンストラクタの引数として渡すことができます。

import java.util.ArrayList;
import java.util.LinkedList;

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

        // ArrayList を LinkedList に変換
        System.out.println("LinkedList: ");
        LinkedList<String> linkedList = new LinkedList<>(arrayList);
        System.out.println(linkedList);
    }
}

コードを実行するには、ターミナルを開き、Java ファイルが含まれるディレクトリに移動します。その後、次のコマンドを使用してコードをコンパイルして実行します。

javac Main.java && java Main

次の出力が表示されるはずです。

ArrayList:
[Mango, Apple, Orange]
LinkedList:
[Mango, Apple, Orange]

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

add() メソッドを使って、ArrayList の要素を 1 つずつ LinkedList に追加することもできます。

import java.util.ArrayList;
import java.util.LinkedList;

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

        // ArrayList を LinkedList に変換
        System.out.println("LinkedList: ");
        LinkedList<String> linkedList = new LinkedList<>();
        for (String str : arrayList) {
            linkedList.add(str);
        }
        System.out.println(linkedList);
    }
}

コードを実行するには、ターミナルを開き、Java ファイルが含まれるディレクトリに移動します。その後、次のコマンドを使用してコードをコンパイルして実行します。

javac Main.java && java Main

次の出力が表示されるはずです。

ArrayList:
[Mango, Apple, Orange]
LinkedList:
[Mango, Apple, Orange]

Java Stream API を使って ArrayList を LinkedList に変換する

Java 8 以降のバージョンを使用している場合、Java Stream API を使って ArrayListLinkedList に変換することができます。stream() メソッドを使って ArrayList から要素のストリームを取得し、collect() メソッドを使って要素を LinkedList に収集します。

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

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

        // Java Stream API を使って ArrayList を LinkedList に変換
        System.out.println("LinkedList: ");
        LinkedList<String> linkedList = arrayList.stream()
             .collect(Collectors.toCollection(LinkedList::new));
        System.out.println(linkedList);
    }
}

コードを実行するには、ターミナルを開き、Java ファイルが含まれるディレクトリに移動します。その後、次のコマンドを使用してコードをコンパイルして実行します。

javac Main.java && java Main

次の出力が表示されるはずです。

ArrayList:
[Mango, Apple, Orange]
LinkedList:
[Mango, Apple, Orange]

まとめ

この実験では、Java で ArrayListLinkedList に変換するさまざまな方法を学びました。コンストラクタを使用する方法、要素を 1 つずつ追加する方法、または Java Stream API を使用する方法などです。プロジェクトの要件に応じてこれらの方法を使用できます。