Java
 Computer >> コンピューター >  >> プログラミング >> Java

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


Java 9では、いくつかのファクトリメソッドがコレクションに追加されました。 API 。これらのファクトリメソッドを使用することで、変更不可能なを作成できます。 コードの行数を減らすために、コレクションオブジェクトを一覧表示、設定、およびマップします。 List.of()、Set.of() Map.of() およびMap.ofEntries() 不変を作成する便利な方法を提供する静的ファクトリメソッドです。 コレクション Java9の場合。

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

構文

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}

  1. Javaのさまざまなタイプのクラスは何ですか?

    Javaのクラスの種類 具体的なクラス 抽象メソッドを持たない通常のクラス、または親クラスまたはインターフェースのすべてのメソッドの実装を持ち、独自のメソッドを持つクラスは具象クラスです。 例 public class Concrete { // Concrete Class    static int product(int a, int b) {       return a * b;    }    public static void main(String args[]) {   &n

  2. SOCKS5 プロキシの利点とは

    VPN とプロキシ サーバーの間では、VPN の方が信頼性が高く安全であると考えられていることに、私たちは皆少し同意しています。ではない? VPN を使用すると、暗号化されたトンネルを介して安全な接続を確立できますが、プロキシ サーバーは Web の閲覧中に十分な安全性を保証しません. では、VPN 用語で Socks5 Proxy という用語を聞いたことがありますか? Socks5 は、プロキシ サーバーのより安全なバージョンであり、プライバシーとセキュリティを強化するための追加の利点を提供すると考えることができます. ここでは、Socks5 プロキシについて知っておく必要があるすべて