수색…


소개

Java 9의 등장으로 Java의 Collections API에 많은 새로운 기능이 추가되었습니다. 그 중 하나는 컬렉션 팩토리 메소드입니다. 이러한 메소드를 사용하면 비어 있거나 비어 있지 않은 불변 콜렉션을 쉽게 초기화 할 수 있습니다.

이러한 팩토리 메서드는 List<E> , Set<E>Map<K, V> 인터페이스에서만 사용할 수 있습니다.

통사론

  • static <E> List<E> of​()
  • static <E> List<E> of​(E e1)
  • static <E> List<E> of​(E e1, E e2)
  • static <E> List<E> of​(E e1, E e2, ..., E e9, E e10)
  • static <E> List<E> of​(E... elements)
  • static <E> Set<E> of​()
  • static <E> Set<E> of​(E e1)
  • static <E> Set<E> of​(E e1, E e2)
  • static <E> Set<E> of​(E e1, E e2, ..., E e9, E e10)
  • static <E> Set<E> of​(E... elements)
  • static <K,V> Map<K,V> of()
  • static <K,V> Map<K,V> of(K k1, V v1)
  • static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2)
  • static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2, ..., K k9, V v9, K k10, V v10)
  • static <K,V> Map<K,V> ofEntries​(Map.Entry<? extends K,? extends V>... entries)

매개 변수

매개 변수 w / 매개 변수 기술
List.of(E e) 클래스 또는 인터페이스 일 수있는 제네릭 형식입니다.
Set.of(E e) 클래스 또는 인터페이스 일 수있는 제네릭 형식입니다.
Map.of(K k, V v) 각각 클래스 또는 인터페이스 일 수있는 제네릭 형식의 키 - 값 쌍입니다.
Map.of(Map.Entry<? extends K, ? extends V> entry) 그 키가 K 또는 그 아이의 1 Map.Entry 수있는 Map.Entry 인스턴스이며, 그 값은 V 또는 그 임의의 아이가됩니다.

명부 팩토리 메소드 예제

  • List<Integer> immutableEmptyList = List.of();
    • 빈 상태 (empty)의 불변의 List<Integer> 초기화합니다.
  • List<Integer> immutableList = List.of(1, 2, 3, 4, 5);
    • 5 개의 초기 요소로 불변의 List<Integer> 를 초기화합니다.
  • List<Integer> mutableList = new ArrayList<>(immutableList);
    • 불변의 List<Integer> 로부터 변경 가능한 List<Integer> 를 초기화합니다.

세트 팩토리 메소드 예제

  • Set<Integer> immutableEmptySet = Set.of();
    • 빈 상태의 불변 Set<Integer> 초기화합니다.
  • Set<Integer> immutableSet = Set.of(1, 2, 3, 4, 5);
    • 5 개의 초기 요소로 불변의 Set<Integer> 를 초기화합니다.
  • Set<Integer> mutableSet = new HashSet<>(immutableSet);
    • 가변의 초기화 Set<Integer> 불변의 Set<Integer> .

지도 팩토리 메소드 예제

  • Map<Integer, Integer> immutableEmptyMap = Map.of();
    • 빈 불변의 Map<Integer, Integer> 초기화합니다.
  • Map<Integer, Integer> immutableMap = Map.of(1, 2, 3, 4);
    • 두 개의 초기 키 - 값 항목을 사용하여 불변의 Map<Integer, Integer> 를 초기화합니다.
  • Map<Integer, Integer> immutableMap = Map.ofEntries(Map.entry(1, 2), Map.entry(3, 4));
    • 두 개의 초기 키 - 값 항목을 사용하여 불변의 Map<Integer, Integer> 를 초기화합니다.
  • Map<Integer, Integer> mutableMap = new HashMap<>(immutableMap);
    • 변경 가능한 초기화 Map<Integer, Integer> 불변로부터 Map<Integer, Integer> .


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow