Java9のSet.ofメソッドでイミュータブル(不変オブジェクト)なSetオブジェクトを作成する
Java9からSetやMapやListなどのコレクションクラスにファクトリメソッドのofメソッドが追加されています。
これで簡単にイミュータブルなオブジェクトが作成できるようになっています。
Setの場合は重複要素がなければOKです。
package jp.co.confrage; import java.util.Set; public class Sample { public static void main(String[] args) { Set<String> set = Set.of("1","2","3"); // 重複要素がなければOK set.stream().forEach(e-> System.out.println(e)); } }
重複要素がある場合は「IllegalArgumentException」が発生します。
package jp.co.confrage; import java.util.Set; public class Sample001 { public static void main(String[] args) { Set<String> set = Set.of("1","2","2"); // 重複要素があるのでIllegalArgumentExceptionが発生する set.stream().forEach(e-> System.out.println(e)); } }
Java9からはCollections.unmodifiableSet()メソッドの使用回数が減りそうです。
ちなみにエラーメッセージもどこで要素が重複しているか教えてくれるように変わっているのでその辺も便利になっています。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント