Java 9는 공장을 제공합니다. 방법 불변 생성 목록 , 세트 , 및 지도 . 빈 을 만드는 데 유용할 수 있습니다. 또는 비어 있지 않음 컬렉션 개체. Java 8 및 이전 버전에서는 unmodifiableXXX 와 같은 컬렉션 클래스 유틸리티 메서드를 사용할 수 있습니다. 불변 생성 컬렉션 개체. 변경할 수 없는 목록을 만들어야 하는 경우 Collections.unmodifiableList()를 사용하세요. 방법.
이러한 팩토리 메서드를 사용하면 비어 있는지 변경할 수 없는 컬렉션을 쉽게 초기화할 수 있습니다. 또는 비어 있지 않음
불변 목록 초기화:
List<Integer> immutableEmptyList = List.of();
위에서 우리는 비어 있는 불변 을 초기화했습니다. 목록 .
불변 집합의 초기화:
Set<Integer> immutableEmptySet = Set.of();
위에서 우리는 비어 있는 불변 을 초기화했습니다. 설정 .
불변 지도 초기화:
Map<Integer, Integer> immutableEmptyMap = Map.of();
위에서 우리는 비어 있는 불변 을 초기화했습니다. 지도 .
예시
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class ImmutableCollectionTest {
public static void main(String args[]) {
List<String> list8 = new ArrayList<String>();
list8.add("INDIA");
list8.add("AUSTRALIA");
list8.add("ENGLAND");
list8.add("NEWZEALAND");
List<String> immutableList8 = Collections.unmodifiableList(list8);
immutableList8.forEach(System.out::println);
System.out.println();
List<String> immutableList = List.of("INDIA", "AUSTRALIA", "ENGLAND", "NEWZEALAND");
immutableList.forEach(System.out::println);
System.out.println();
Set<String> immutableSet = Set.of("INDIA", "AUSTRALIA", "ENGLAND", "NEWZEALAND");
immutableSet.forEach(System.out::println);
System.out.println();
Map<String, String> immutableMap = Map.of("INDIA", "India", "AUSTRALIA", "Australia", "ENGLAND", "England", "NEWZEALAND", "Newzealand");
immutableMap.forEach((key, value) -> System.out.println(key + " : " + value));
System.out.println();
}
} 출력
INDIA AUSTRALIA ENGLAND NEWZEALAND INDIA AUSTRALIA ENGLAND NEWZEALAND AUSTRALIA ENGLAND NEWZEALAND INDIA AUSTRALIA : Australia ENGLAND : England NEWZEALAND : Newzealand INDIA : India