Поиск…


Вступление

Приход Java 9 привносит много новых функций в API коллекций Java, одним из которых является сборка заводских методов. Эти методы позволяют легко инициализировать неизменяемые коллекции, независимо от того, являются ли они пустыми или непустыми.

Обратите внимание, что эти заводские методы доступны только для следующих интерфейсов: 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) Экземпляр Map.Entry где его ключ может быть K или одним из его дочерних элементов, а его значение может быть V или любым из его дочерних элементов.

Список Примеры заводских методов

  • List<Integer> immutableEmptyList = List.of();
    • Инициализирует пустой, неизменный List<Integer> .
  • List<Integer> immutableList = List.of(1, 2, 3, 4, 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);
    • Инициализирует неизменяемый 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