ホームページ >Java >&#&チュートリアル >Java 9 における不変コレクションの利点は何ですか?

Java 9 における不変コレクションの利点は何ですか?

PHPz
PHPz転載
2023-09-07 10:45:03921ブラウズ

Java 9中的不可变集合有哪些好处?

Java 9 では、Collections API にいくつかのファクトリ メソッドが追加されました。これらのファクトリ メソッドを使用すると、変更不可能な リスト、コレクション、およびマップされたコレクション オブジェクトを作成できるため、コードの行数が削減されます。 Java 9 では、List.of()、Set.of()Map.of() 、および Map.ofEntries() が便宜上提供されています。ファクトリ メソッド。 不変の コレクション を作成するために使用されます。

不変コレクションの利点

  • ヒープ領域が少ない: 以前のバージョンの Java での従来のアプローチと比較して、コレクション データを保存するために必要な領域が非常に少ない。
  • データ アクセスの高速化: データの保存と Collections.unmodifiable としてのラップのオーバーヘッドが削減されたため、データ アクセスが高速になりました。これは、プログラムの全体的な効率が向上することを意味します。
  • スレッド セーフ: 不変コレクションは当然ながらスレッド セーフです。すべてのスレッドが常に基礎となるデータの同じビューを取得するためです。
文法

<strong>List.of(elements...)
Set.of(elements...)
Map.of(k1, v1, k2, v2)
</strong>

Example

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

Example

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

出力

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

以上がJava 9 における不変コレクションの利点は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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