ArrayList 를 LinkedList 로 변환하기

JavaBeginner
지금 연습하기

소개

이 랩에서는 Java 에서 ArrayListLinkedList로 변환하는 방법을 배웁니다. 둘 다 리스트를 구현하는 데 사용되는 클래스이지만, ArrayList는 배열과 유사한 리스트에 데이터를 저장하는 반면 LinkedList는 연결 리스트 (linked list) 데이터 구조를 사용합니다. ArrayListLinkedList로 변환하는 여러 가지 방법을 살펴볼 것입니다.

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

코드를 실행하려면 터미널을 열고 자바 파일이 있는 디렉토리로 이동합니다. 그런 다음 다음 명령을 사용하여 코드를 컴파일하고 실행합니다.

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 to LinkedList
        System.out.println("LinkedList: ");
        LinkedList<String> linkedList = new LinkedList<>(arrayList);
        System.out.println(linkedList);
    }
}

코드를 실행하려면 터미널을 열고 자바 파일이 있는 디렉토리로 이동합니다. 그런 다음 다음 명령을 사용하여 코드를 컴파일하고 실행합니다.

javac Main.java && java Main

다음과 같은 출력을 볼 수 있습니다.

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

add() 메서드를 사용하여 ArrayList 를 LinkedList 로 변환

add() 메서드를 사용하여 ArrayList의 요소를 하나씩 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 to LinkedList
        System.out.println("LinkedList: ");
        LinkedList<String> linkedList = new LinkedList<>();
        for (String str : arrayList) {
            linkedList.add(str);
        }
        System.out.println(linkedList);
    }
}

코드를 실행하려면 터미널을 열고 자바 파일이 있는 디렉토리로 이동합니다. 그런 다음 다음 명령을 사용하여 코드를 컴파일하고 실행합니다.

javac Main.java && java Main

다음과 같은 출력을 볼 수 있습니다.

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

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

        // ArrayList to LinkedList using Java Stream API
        System.out.println("LinkedList: ");
        LinkedList<String> linkedList = arrayList.stream()
                .collect(Collectors.toCollection(LinkedList::new));
        System.out.println(linkedList);
    }
}

코드를 실행하려면 터미널을 열고 자바 파일이 있는 디렉토리로 이동합니다. 그런 다음 다음 명령을 사용하여 코드를 컴파일하고 실행합니다.

javac Main.java && java Main

다음과 같은 출력을 볼 수 있습니다.

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

요약

이 랩에서는 Java 에서 ArrayListLinkedList로 변환하는 다양한 방법, 예를 들어 생성자 사용, 요소를 하나씩 추가, 또는 Java Stream API 사용법을 배웠습니다. 프로젝트의 요구 사항에 따라 이러한 방법을 사용할 수 있습니다.