Java Language
Metody produkcji kolekcji
Szukaj…
Wprowadzenie
Pojawienie się Java 9 wprowadza wiele nowych funkcji do API API Javy, z których jedną są fabryczne metody kolekcji. Metody te pozwalają na łatwą inicjalizację niezmiennych kolekcji, niezależnie od tego, czy są one puste, czy niepuste.
Należy pamiętać, że te metody fabryczne są dostępne tylko dla następujących interfejsów: List<E>
, Set<E>
i Map<K, V>
Składnia
-
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)
Parametry
Metoda z parametrem | Opis |
---|---|
List.of(E e) | Typ ogólny, którym może być klasa lub interfejs. |
Set.of(E e) | Typ ogólny, którym może być klasa lub interfejs. |
Map.of(K k, V v) | Para klucz-wartość ogólnych typów, z których każdy może być klasą lub interfejsem. |
Map.of(Map.Entry<? extends K, ? extends V> entry) | Instancja Map.Entry której kluczem może być K lub jedno z jej dzieci, a jej wartością może być V lub dowolne z jej dzieci. |
Lista Przykłady metod fabrycznych
-
List<Integer> immutableEmptyList = List.of();
- Inicjuje pustą, niezmienną
List<Integer>
.
- Inicjuje pustą, niezmienną
-
List<Integer> immutableList = List.of(1, 2, 3, 4, 5);
- Inicjuje niezmienną
List<Integer>
pięcioma elementami początkowymi.
- Inicjuje niezmienną
-
List<Integer> mutableList = new ArrayList<>(immutableList);
- Inicjuje zmienną
List<Integer>
z niezmiennejList<Integer>
.
- Inicjuje zmienną
Zestaw Przykłady metod fabrycznych
-
Set<Integer> immutableEmptySet = Set.of();
- Inicjuje pusty, niezmienny
Set<Integer>
.
- Inicjuje pusty, niezmienny
-
Set<Integer> immutableSet = Set.of(1, 2, 3, 4, 5);
- Inicjuje niezmienny
Set<Integer>
pięcioma elementami początkowymi.
- Inicjuje niezmienny
-
Set<Integer> mutableSet = new HashSet<>(immutableSet);
- Inicjuje mutable
Set<Integer>
z niezmiennegoSet<Integer>
.
- Inicjuje mutable
Mapa Przykłady metod fabrycznych
-
Map<Integer, Integer> immutableEmptyMap = Map.of();
- Inicjuje pustą, niezmienną
Map<Integer, Integer>
.
- Inicjuje pustą, niezmienną
-
Map<Integer, Integer> immutableMap = Map.of(1, 2, 3, 4);
- Inicjuje niezmienną
Map<Integer, Integer>
dwoma początkowymi wpisami klucz-wartość.
- Inicjuje niezmienną
-
Map<Integer, Integer> immutableMap = Map.ofEntries(Map.entry(1, 2), Map.entry(3, 4));
- Inicjuje niezmienną
Map<Integer, Integer>
dwoma początkowymi wpisami klucz-wartość.
- Inicjuje niezmienną
-
Map<Integer, Integer> mutableMap = new HashMap<>(immutableMap);
- Inicjuje zmienną
Map<Integer, Integer>
z niezmiennejMap<Integer, Integer>
.
- Inicjuje zmienną
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow