Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java 9 Collection Factory Methods: Onveranderlijke List, Set & Map eenvoudig aanmaken

Met Java 9 zijn nieuwe factory-methoden toegevoegd aan de List, Set en Map-interfaces om onveranderlijke instanties te maken. Deze methoden zijn 'convenience factory methods' om collecties minder verbose en beknopter aan te maken.

Oude manier om collecties aan te maken

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class Tester {
    public static void main(String []args) {
        Set<String> set = new HashSet<>();
        set.add("A"); set.add("B"); set.add("C");
        set = Collections.unmodifiableSet(set);
        System.out.println(set);

        List<String> list = new ArrayList<>();
        list.add("A"); list.add("B"); list.add("C");
        list = Collections.unmodifiableList(list);
        System.out.println(list);

        Map<String, String> map = new HashMap<>();
        map.put("A","Apple"); map.put("B","Boy"); map.put("C","Cat");
        map = Collections.unmodifiableMap(map);
        System.out.println(map);
    }
}

Uitvoer

[A, B, C]
[A, B, C]
{A=Apple, B=Boy, C=Cat}

Nieuwe methodes

Met Java 9 zijn de volgende methodes toegevoegd (met overbelaste varianten):

static <E> List<E> of(E e1, E e2, E e3);
static <E> Set<E> of(E e1, E e2, E e3);
static <K,V> Map<K,V> of(K k1, V v1, K k2, V v2, K k3, V v3);
static <K,V> Map<K,V> ofEntries(Map.Entry<? extends K,? extends V>... entries)

Belangrijke punten

  • Voor List en Set is of(...) overbelast voor 0 tot 10 parameters en één met varargs.
  • Voor Map is of(...) overbelast voor 0 tot 10 parameters.
  • Bij meer dan 10 parameters voor Map kan ofEntries(...) met varargs gebruikt worden.

Nieuwe manier om collecties aan te maken

import java.util.*;

public class Tester {
    public static void main(String []args) {
        Set<String> set = Set.of("A", "B", "C");
        System.out.println(set);

        List<String> list = List.of("A", "B", "C");
        System.out.println(list);

        Map<String, String> map = Map.of("A","Apple","B","Boy","C","Cat");
        System.out.println(map);

        Map<String, String> map1 = Map.ofEntries(
            new AbstractMap.SimpleEntry<>("A","Apple"),
            new AbstractMap.SimpleEntry<>("B","Boy"),
            new AbstractMap.SimpleEntry<>("C","Cat"));
        System.out.println(map1);
    }
}

Uitvoer

[A, B, C]
[A, B, C]
{A=Apple, B=Boy, C=Cat}
{A=Apple, B=Boy, C=Cat}

Java

  1. Java-operators beheersen: typen, syntax en praktische voorbeelden
  2. Java abstracte klassen en methoden: een uitgebreide gids
  3. Java interfaces meesteren: concepten, implementatie en best practices
  4. Java Try-with-resources meesteren: automatische resource management uitgelegd
  5. Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
  6. Java Autoboxing en Unboxing: Praktische voorbeelden en best practices
  7. Java String toLowerCase() & toUpperCase(): Tekstcase Converteren met Locale Awareness
  8. Java Collections beheersen: Uitgebreide Gids voor Efficiënte Datastructuren
  9. Java 10: 70+ nieuwe API's & features uitgelegd
  10. Java 10: Garbage-Collector Interface voor flexibel, efficiënt geheugenbeheer
  11. Java 9 Collection Factory Methods: Onveranderlijke List, Set & Map eenvoudig aanmaken