Sök…


Introduktion

Ankomsten av Java 9 ger många nya funktioner till Java: s samlingar API, varav en är samlingsfabriksmetoder. Dessa metoder möjliggör enkel initialisering av immutable- samlingar, oavsett om de är tomma eller inte befriade.

Observera att dessa fabriksmetoder endast är tillgängliga för följande gränssnitt: List<E> , Set<E> och Map<K, V>

Syntax

  • 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)

parametrar

Metod w / parameter Beskrivning
List.of(E e) En generisk typ som kan vara en klass eller gränssnitt.
Set.of(E e) En generisk typ som kan vara en klass eller gränssnitt.
Map.of(K k, V v) Ett nyckelvärdespar av generiska typer som var och en kan vara en klass eller gränssnitt.
Map.of(Map.Entry<? extends K, ? extends V> entry) En Map.Entry En instans där dess nyckel kan vara K eller ett av dess barn, och dess värde kan vara V eller något av dess barn.

Lista Exempel på fabriksmetod

  • List<Integer> immutableEmptyList = List.of();
    • Initierar en tom, oföränderlig List<Integer> .
  • List<Integer> immutableList = List.of(1, 2, 3, 4, 5);
    • Initierar en immutable List<Integer> med fem initiala element.
  • List<Integer> mutableList = new ArrayList<>(immutableList);
    • Initierar en muterbar List<Integer> från en obegränsad List<Integer> .

Uppsättning Exempel på fabriksmetod

  • Set<Integer> immutableEmptySet = Set.of();
    • Initierar en tom, immutable Set<Integer> .
  • Set<Integer> immutableSet = Set.of(1, 2, 3, 4, 5);
    • Initierar en immutable Set<Integer> med fem initiala element.
  • Set<Integer> mutableSet = new HashSet<>(immutableSet);
    • Initierar en muterbar Set<Integer> från en obegränsad Set<Integer> .

Karta Exempel på fabriksmetod

  • Map<Integer, Integer> immutableEmptyMap = Map.of();
    • Initierar en tom, obegränsad Map<Integer, Integer> .
  • Map<Integer, Integer> immutableMap = Map.of(1, 2, 3, 4);
    • Initierar en immutabel Map<Integer, Integer> med två initiala nyckelvärden.
  • Map<Integer, Integer> immutableMap = Map.ofEntries(Map.entry(1, 2), Map.entry(3, 4));
    • Initierar en immutabel Map<Integer, Integer> med två initiala nyckelvärden.
  • Map<Integer, Integer> mutableMap = new HashMap<>(immutableMap);
    • Initierar en muterbar Map<Integer, Integer> från en immutabel Map<Integer, Integer> .


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow