【Java】OptionalでMapの値をセットする

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP