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 - Verzamelfabrieksmethoden

Met Java 9 worden nieuwe fabrieksmethoden toegevoegd aan de interfaces List, Set en Map om onveranderlijke instanties te creëren. Deze fabrieksmethoden zijn gemaksfabrieksmethoden om een ​​verzameling op een minder uitgebreide en beknopte manier te maken.

Oude manier om collecties te maken

Live demo
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

Het zal de volgende uitvoer afdrukken.

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

Nieuwe methoden

Met java 9 worden de volgende methoden toegevoegd aan de lijst-, set- en kaartinterfaces, samen met hun overbelaste tegenhangers.

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)

Aandachtspunten

  • Voor List- en Set-interfaces is de methode van (...) overbelast om 0 tot 10 parameters te hebben en één met de parameter var args.

  • Voor de kaartinterface is de methode van (...) overbelast om 0 tot 10 parameters te hebben.

  • In het geval van meer dan 10 parameters voor de kaartinterface, kan de methode ofEntries(...) worden gebruikt door de parameter var args te accepteren.

Nieuwe manier om collecties 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.AbstractMap;
import java.util.Map;
import java.util.Set;

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

Het zal de volgende uitvoer afdrukken.

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

Java

  1. Java-operators
  2. Java abstracte klasse en abstracte methoden
  3. Java-interface
  4. Java proberen-met-bronnen
  5. Java-annotaties
  6. Java autoboxing en unboxing
  7. Java String toLowercase() en toUpperCase() methoden
  8. Java - Collecties Framework
  9. Java 10 - Nieuwe API's en opties
  10. Java 10 - Verbeterde afvalinzameling
  11. Java 9 - Verzamelfabrieksmethoden