English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمية Java الأساسية

تحكم العمليات في Java

مجموعات Java

Java موجه بالأوبجكت (I)

Java موجه بالأوبجكت (II)

Java موجه بالأوبجكت (III)

معالجة الاستثناءات في Java

قوائم Java List

Java Queue (الطابور)

مجموعات Java Map

مجموعات Java Set

مخرجات/مدخلات Java (I/O)

قراء/كتابة Java

مواضيع أخرى في Java

طرق المصنع في مجموعات Java 9

Java 9 New Features

في واجهات List،Set و Map لـ Java 9، يمكن لطريقة المصنع الجديدة إنشاء نماذج غير قابلة للتغيير لهذه المجموعات.

يمكن لهذه الطرق الصناعية إنشاء مجموعات بطرق أكثر بساطة.

الطريقة القديمة لإنشاء مجموعة

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);
   }
}

نتيجة الإدخال هي:

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

إنشاء مجموعة جديدة

في Java 9، تم إضافة بعض الطرق إلى واجهات List، Set و Map وواجهاتها المعدلة.

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)
  • واجهات List و Set، تم تثبيط طريقة of(...) لعدد مختلف من المعلمات من 0 إلى 10.

  • واجهة Map، تم تثبيط طريقة of(...) لعدد مختلف من المعلمات من 0 إلى 10.

  • إذا كان عدد المعلمات في واجهة Map أكثر من 10، يمكن استخدام طريقة ofEntries(...).

إنشاء مجموعة جديدة

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(
      System.out.println(list);
      Map<String, String> map = Map.of(
      System.out.println(map);
  
      Map<String, String> map1 = Map.ofEntries(
         new AbstractMap.SimpleEntry<>(
         new AbstractMap.SimpleEntry<>(
         new AbstractMap.SimpleEntry<>(
      System.out.println(map1);
   }
}

The output result is:

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

Java 9 New Features