Contents
【Java】OptionalでMapの値をセットする
この記事ではJavaのOptionalとMapの使い方を解説します。
初期値のMapをOptionalに格納する
初期値のMapをOptionalに格納するには以下のように実装します。
Optional<Map<String, String>> opt = Optional.ofNullable(new HashMap<>()); System.out.println(opt); // 実行結果 Optional[{}]
データがあるMapをOptionalに格納する
Map内にデータが存在するMapをOptionalに格納するには以下のように実装します。
Map<String, String> map = new HashMap<>(); Optional<Map<String, String>> opt = Optional.ofNullable(map); // データが無いためカラMap System.out.println(opt); // Mapに値をセット map.put("キー値1", "1"); map.put("キー値2", "2"); opt = Optional.ofNullable(map); // データがあるMapをOptionalに格納を確認 System.out.println(opt); // 実行結果 Optional[{}] Optional[{キー値1=1, キー値2=2}]
Optionalに格納されたMapデータを取得する
orElseを利用して、データが存在する場合はそのまま、そうでない場合は初期値を取得するなどnullチェックを併用した形でデータの取得が可能です
●Mapにデータが存在する場合は、そのまま取得する
Map<String, String> map = new HashMap<>(); map.put("キー値1", "1"); map.put("キー値2", "2"); // Optionalに格納 Optional<Map<String, String>> opt = Optional.ofNullable(map); Map<String, String> 取得map = opt.orElse(new HashMap<>()); // Optionalから取得 System.out.println(取得map); // 実行結果 {キー値1=1, キー値2=2}
●Mapにデータが存在しない場合は、カラMapを取得する
// Optionalに格納 Optional<Map<String, String>> opt = Optional.ofNullable(null); Map<String, String> 取得map = opt.orElse(new HashMap<>()); // Optionalから取得 System.out.println(取得map); // 実行結果 {}
Javaの記事の一覧はJava にまとめてあります