Java Language
Методы сбора коллекции
Поиск…
Вступление
Приход 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