如何在Java 9中建立一個不可修改的Set?
不可變的靜態工廠方法**Set.of()** 提供了一種方便的方法來在Java 9中建立**不可修改的集合**。
使用**Set.of()**方法建立的集合例項具有以下特性。
- 工廠方法返回的集合通常是**不可變的**。這意味著不能向集合中**新增**、**刪除**或**替換**元素。對集合呼叫任何**修改器**方法都會導致**UnsupportedOperationException**異常。
- 如果集合的包含元素是**可變的**,則可能導致集合的內容看起來發生了變化。
- 可以使用不允許**空**元素的靜態工廠方法建立**不可變的集合**。如果嘗試使用空元素建立,則會丟擲**NullPointerException**異常。
- 在建立不可變集合時,它會拒絕**重複的元素**。傳遞給靜態工廠方法的重複元素會導致**IllegalArgumentException**異常。
- 集合元素的迭代順序是**未指定的**,並且可能會發生變化。
語法
Set.of(E... elements)
示例
import java.util.Set;
public class SetOfMethodTest {
public static void main(String args[]) {
Set<String> names = Set.of("Adithya", "Bhavish", "Chaitanya", "Jai");
System.out.println("Names - " + names);
names.add("Raja"); // throws UnsupportedOperationException
}
}輸出
Names - [Bhavish, Adithya, Jai, Chaitanya] Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util.ImmutableCollections.uoe(Unknown Source) at java.base/java.util.ImmutableCollections$AbstractImmutableSet.add(Unknown Source) at SetOfMethodTest.main(SetOfMethodTest.java:8)
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP