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 にまとめてあります
