#はじめに
本記事ではMapをListに変換する2通りの方法をアウトプットします。
#Listを直接生成する方法
Map<String, String> TopBillionaires = new LinkedHashMap<>();
TopBillionaires.put("$195bn", "Elon Musk");
TopBillionaires.put("$185bn", "Jeff Bezos");
TopBillionaires.put("$134bn", "Bill Gates");
TopBillionaires.put("$102bn", "Mark Zuckerberg");
TopBillionaires.put("$88.2bn", "Warren Buffett");
TopBillionaires.put("$81bn", "Sergey Brin");
List<String> keyList = new ArrayList<>(TopBillionaires.keySet());
List<String> valueList = new ArrayList<>(TopBillionaires.values());
System.out.println(keyList);
System.out.println(valueList);
//出力
// [$195bn, $185bn, $134bn, $102bn, $88.2bn, $81bn]
// [Elon Musk, Jeff Bezos, Bill Gates, Mark Zuckerberg, Warren Buffett, Sergey Brin]
#Streamを利用する方法
以下では、StreamのCollectメソッドにCollectors
クラスのtoCollection
メソッドを渡しています。
出力結果はListを直接生成する方法と同じです。
Map<String, String> TopBillionaires = new LinkedHashMap<>();
TopBillionaires.put("$195bn", "Elon Musk");
TopBillionaires.put("$185bn", "Jeff Bezos");
TopBillionaires.put("$134bn", "Bill Gates");
TopBillionaires.put("$102bn", "Mark Zuckerberg");
TopBillionaires.put("$88.2bn", "Warren Buffett");
TopBillionaires.put("$81bn", "Sergey Brin");
List<String> keyList = TopBillionaires.keySet().stream()
.collect(Collectors.toCollection(ArrayList::new));
List<String> valueList = TopBillionaires.values().stream()
.collect(Collectors.toCollection(ArrayList::new));
System.out.println(keyList);
System.out.println(valueList);
//出力
// [$195bn, $185bn, $134bn, $102bn, $88.2bn, $81bn]
// [Elon Musk, Jeff Bezos, Bill Gates, Mark Zuckerberg, Warren Buffett, Sergey Brin]