Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ประโยชน์ของคอลเลกชันที่ไม่เปลี่ยนรูปใน Java 9 คืออะไร


ใน Java 9 มีการเพิ่มวิธีการจากโรงงานหลายวิธีใน คอลเลกชัน API . โดยใช้วิธีโรงงานเหล่านี้ เราสามารถสร้าง ไม่สามารถแก้ไขได้ แสดงรายการ ตั้งค่า และแมปวัตถุคอลเลกชัน เพื่อลดจำนวนบรรทัดของรหัส List.of(), Set.of() , แผนที่ของ() และ Map.ofEntries() เป็นวิธีการแบบคงที่ของโรงงานที่ให้วิธีการที่สะดวกในการสร้าง ไม่เปลี่ยนรูป คอลเลกชัน ใน Java 9.

ประโยชน์ของคอลเล็กชันที่ไม่เปลี่ยนรูป

  • พื้นที่ฮีปน้อยลง: พื้นที่ที่จำเป็นในการจัดเก็บข้อมูลคอลเล็กชันนั้นน้อยกว่ามากเมื่อเทียบกับวิธีการดั้งเดิมใน java เวอร์ชันก่อนหน้า
  • เข้าถึงข้อมูลได้เร็วขึ้น: เป็นค่าใช้จ่ายในการจัดเก็บข้อมูลและรวมเข้ากับ Collections.unmodifiable ลดลง ตอนนี้การเข้าถึงข้อมูลเร็วขึ้น หมายความว่าโปรแกรมประสิทธิภาพโดยรวมเพิ่มขึ้น
  • ความปลอดภัยของเธรด :คอลเล็กชันที่ไม่เปลี่ยนรูปนั้นปลอดภัยสำหรับเธรด . เนื่องจากเธรดทั้งหมดมีมุมมองข้อมูลพื้นฐานเหมือนกันเสมอ

ไวยากรณ์

List.of(elements...)
Set.of(elements...)
Map.of(k1, v1, k2, v2)

ตัวอย่าง

import java.util.Set;
import java.util.List;
import java.util.Map;
public class ImmutableCollectionsTest {
   public static void main(String args[]) {
      List<String> stringList = List.of("a", "b", "c");
      System.out.println("List values: " + stringList);
      Set<String> stringSet = Set.of("a", "b", "c");
      System.out.println("Set values: " + stringSet);
      Map<String, Integer> stringMap = Map.of("a", 1, "b", 2, "c", 3);
      System.out.println("Map values: " + stringMap);
   }
}

ผลลัพธ์

List values: [a, b, c]
Set values: [a, b, c]
Map values: {a=1, b=2, c=3}