ホームページ >Java >&#&チュートリアル >Java 9 で不変 Set を作成するにはどうすればよいでしょうか?

Java 9 で不変 Set を作成するにはどうすればよいでしょうか?

王林
王林転載
2023-08-20 17:57:281476ブラウズ

在Java 9中,我们如何创建一个不可修改的Set?

不変の静的ファクトリ メソッド Set.of()Java 9 で 不変のコレクションを作成する便利な方法を提供します

Set.of() メソッドを使用して作成されたセット インスタンスには、次の特性があります。

  • ファクトリ メソッドによって返されるコレクションは通常、immutable です。これは、 がコレクションに remove 、または replace 要素を追加できないことを意味します。コレクションに対して modifier メソッドを呼び出すと、UnsupportedOperationException がスローされます。
  • コレクション内の要素が mutable である場合、コレクションの内容が変化して見える可能性があります。
  • null 要素を許可しない静的ファクトリ メソッドを使用して、不変コレクションを作成できます。 null 要素を含むコレクションを作成しようとすると、NullPointerException がスローされます。
  • 不変コレクションを作成する場合、
  • 重複要素は拒否されます。重複した要素を静的ファクトリ メソッドに渡すと、IllegalArgumentException が発生します。
  • コレクション要素の反復順序は
  • 未指定であり、変更される可能性があります。
文法

<strong>Set.of(E... elements)</strong>

Example

の中国語訳は次のとおりです:

Example

import java.util.Set;
public class SetOfMethodTest {
   public static void main(String args[]) {
      Set<String> names = <strong>Set.of</strong>("Adithya", "Bhavish", "Chaitanya", "Jai");
      System.out.println("Names - " + names);
      names.add("Raja");       <strong>// throws UnsupportedOperationException</strong>
   }
}

出力

<strong>Names - [Bhavish, Adithya, Jai, Chaitanya]
</strong><strong>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)</strong>

以上がJava 9 で不変 Set を作成するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。