Factory Methods สำหรับ Immutable Collections
Factory methods เป็น static methods สร้าง unmodifiable collection instances ได้สะดวกสำหรับจำนวน elements น้อย
1. List.of()
Syntax
List.of(elements...)
ตัวอย่าง
List<String> list = List.of("item 1", "item 2", "item 3", "item 4", "item 5");
for (String l : list) System.out.println(l);
Output
item 1 item 2 item 3 item 4 item 5
2. Set.of()
Syntax
Set.of(elements...)
ตัวอย่าง
Set<String> set = Set.of("Item 1", "Item 2", "Item 3", "Item 4", "Item 5");
for (String s : set) System.out.println(s);
Output
Item 5 Item 1 Item 2 Item 3 Item 4
3. Map.of() และ Map.ofEntries()
Syntax
Map.of(k1, v1, k2, v2, ...) Map.ofEntries(entry(k1, v1), entry(k2, v2), ...)
ตัวอย่าง
Map<Integer, String> map = Map.of(101, "Raja", 102, "Adithya", 103, "Jai");
for (Map.Entry<Integer, String> m : map.entrySet()) {
System.out.println(m.getKey() + " " + m.getValue());
}
Output
103 Jai 102 Adithya 101 Raja
ลักษณะร่วมของ Immutable Collections
- Immutable: ไม่ add/remove/update ได้
- No nulls allowed
- No duplicates (Set/Map keys)
- Serializable ถ้า elements serializable
- Thread-safe
สรุป
Factory methods ใน Java 9 ให้วิธีสร้าง immutable collections ที่กระชับ อ่านง่าย และมีประสิทธิภาพสูง