소개
Java 에서, 우리는 다양한 접근 방식을 사용하여 한 줄의 코드만으로 List 를 초기화할 수 있습니다. 이 Lab 에서는 Java 에서 List 를 간결하게 초기화하는 다양한 방법을 배웁니다.
Java 에서, 우리는 다양한 접근 방식을 사용하여 한 줄의 코드만으로 List 를 초기화할 수 있습니다. 이 Lab 에서는 Java 에서 List 를 간결하게 초기화하는 다양한 방법을 배웁니다.
asList() 메서드를 사용하여 배열을 기반으로 List 를 생성할 수 있습니다. 이 메서드는 요소를 직접 매개변수로 받아 고정 크기의 List 를 반환합니다. 요소를 추가하려고 시도하면 UnsupportedOperationException 이 발생합니다.
import java.util.Arrays;
import java.util.List;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = Arrays.asList("red", "blue", "green");
System.out.print("Colors List : " + colorsList); //Output : [red, blue, green]
}
}
코드를 실행하려면 명령 프롬프트를 열고, 프로젝트 디렉토리로 이동하여 다음 명령을 실행합니다.
javac ListInitializationDemo.java
java ListInitializationDemo
Java Streams 는 collect() 메서드를 사용하여 스트림 요소에 대한 List 를 생성하는 데 사용할 수 있습니다.
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = Stream.of("red", "blue", "green")
.collect(Collectors.toList());
System.out.print("Colors List : " + colorsList); //Output : [red, blue, green]
}
}
코드를 실행하려면 명령 프롬프트를 열고, 프로젝트 디렉토리로 이동하여 다음 명령을 실행합니다.
javac ListInitializationDemo.java
java ListInitializationDemo
Java 9 는 가변 (mutable) 및 불변 (immutable) List 모두에 대해 오버로드된 List.of() 메서드를 제공합니다.
import java.util.List;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = List.of("red", "blue", "green");
System.out.print("Colors List : " + colorsList); //Output : [red, blue, green]
}
}
코드를 실행하려면 명령 프롬프트를 열고, 프로젝트 디렉토리로 이동하여 다음 명령을 실행합니다.
javac ListInitializationDemo.java
java ListInitializationDemo
Double Brace Initialization 은 익명 내부 클래스 (Anonymous Inner Class) 를 사용하여 List 를 초기화하는 데 사용할 수 있습니다.
import java.util.List;
import java.util.ArrayList;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = new ArrayList<String>() {
{
add("red");
add("blue");
add("green");
}
};
System.out.print("Colors List : " + colorsList); //Output : [red,blue,green]
}
}
코드를 실행하려면 명령 프롬프트를 열고, 프로젝트 디렉토리로 이동하여 다음 명령을 실행합니다.
javac ListInitializationDemo.java
java ListInitializationDemo
Apache Commons Collections 는 지정된 리스트의 수정 불가능한 뷰 (unmodifiable view) 를 반환하는 unmodifiableList() 메서드를 제공합니다.
import java.util.List;
import org.apache.commons.collections4.ListUtils;
import java.util.Arrays;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = ListUtils.unmodifiableList(
Arrays.asList("red", "blue", "green")
);
System.out.print("Colors List : " + colorsList); //Output : [red,blue,green]
}
}
코드를 실행하려면 터미널을 열고, 프로젝트 디렉토리로 이동하여 다음 명령을 실행합니다.
javac -cp commons-collections4-4.4.jar ListInitializationDemo.java
java -cp commons-collections4-4.4.jar:. ListInitializationDemo
Guava 라이브러리는 요소로 초기화된 가변 ArrayList 를 반환하는 newArrayList() 메서드를 제공합니다.
import java.util.List;
import com.google.common.collect.Lists;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = Lists.newArrayList("red", "blue", "green");
System.out.print("Colors List : " + colorsList); //Output : [red,blue,green]
}
}
코드를 실행하려면 터미널을 열고, 프로젝트 디렉토리로 이동하여 다음 명령을 실행합니다.
javac -cp guava-31.0.1-jre.jar ListInitializationDemo.java
java -cp guava-31.0.1-jre.jar:. ListInitializationDemo
Guava 는 또한 불변 (immutable) List 를 반환하는 ImmutableList 클래스를 제공합니다.
import java.util.List;
import com.google.common.collect.ImmutableList;
public class ListInitializationDemo {
public static void main(String[] args) {
List<String> colorsList = ImmutableList.of("red", "blue", "green");
System.out.print("Colors List : " + colorsList); //Output : [red,blue,green]
}
}
코드를 실행하려면 터미널을 열고, 프로젝트 디렉토리로 이동하여 다음 명령을 실행합니다.
javac -cp guava-31.0.1-jre.jar ListInitializationDemo.java
java -cp guava-31.0.1-jre.jar:. ListInitializationDemo
Java 에서는 한 줄의 코드로 List 를 초기화하는 다양한 방법이 있습니다. Java 8 Stream 을 사용하여 List 를 생성하는 방법, Arrays.asList() 메서드 사용, 그리고 Java 9 이후 버전에서 List.of() 메서드를 사용하는 방법을 살펴보았습니다. 또한 Double Brace Initialization 과 Apache Commons Collections 및 Guava 와 같은 외부 Java 라이브러리를 사용하는 예시도 확인했습니다.