Java MapをListに変換してみる

MapからListに変換するとき~、ループで処理するしかないと思っていたのですが、

javarev.com

⇧  上記サイト様によりますと、一括でできるみたい。

というわけで、トライ~。 

 

Map → List 変換

というわけで、Eclipseにて適当にJavaプロジェクトを作成。クラスも作成。

f:id:ts0818:20181226222337p:plain

で、ソースはこんな感じ。

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

public class TestMapToList {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Map<String, String> map = new LinkedHashMap<String, String>(){
			{
				put("name", "葉問");
				put("age", "35");
				put("gender", "man");
				put("from", "Hong Kong");
				put("hobby", "Tea");
				put("message1", "詠春拳");
				put("message2", "念頭不正,終生不正。〈拳套要求、人生寓意〉");
				put("message3", "念頭主手〈一說守〉,尋橋主腳〈與步〉。〈練習拳套目的〉 標指不出門。(拳法〉");
				put("message4", "來留去送,甩手直衝。");
				put("message5", "撳頭扢尾,撳尾扢頭,中間〈飄〉膀起。");
				put("message6", "正身子午,側身以膊〈為子午〉。");
				put("message7", "朝面追形,而〈追形〉不追手,以形補手,以手補形。");
				put("message8", "力由地起,拳由心發,手不出門〈手不離午〉。");
				put("message9", "避實擊虛 (遇實則卸,見虛即進)。");
				put("message10", "畏打〈終〉須打,貪打〈終〉被打。(不畏打,不貪打〉");
				put("message11", "轉馬手先行,上馬手先行。〈轉馬上馬,樁手先行〉");
				put("message12", "留情不出手,出手不留情。〈留情不打,打不留情〉");
				put("message13", "不挑不格,消打同時。");

			}
		};
		List<String> valueList = new ArrayList<String>(map.values());
		List<String> keyList = new ArrayList<String>(map.keySet());
		System.out.println(valueList);
		System.out.println(keyList);
	}
}

で、実行。

f:id:ts0818:20181226222638p:plain

Mapのvalueの値、Mapのkeyの値で、それぞれリストが作成されました~。

[葉問, 35, man, Hong Kong, Tea, 詠春拳, 念頭不正,終生不正。〈拳套要求、人生寓意〉, 念頭主手〈一說守〉,尋橋主腳〈與步〉。〈練習拳套目的〉 標指不出門。(拳法〉, 來留去送,甩手直衝。, 撳頭扢尾,撳尾扢頭,中間〈飄〉膀起。, 正身子午,側身以膊〈為子午〉。, 朝面追形,而〈追形〉不追手,以形補手,以手補形。, 力由地起,拳由心發,手不出門〈手不離午〉。, 避實擊虛 (遇實則卸,見虛即進)。, 畏打〈終〉須打,貪打〈終〉被打。(不畏打,不貪打〉, 轉馬手先行,上馬手先行。〈轉馬上馬,樁手先行〉, 留情不出手,出手不留情。〈留情不打,打不留情〉, 不挑不格,消打同時。]
[name, age, gender, from, hobby, message1, message2, message3, message4, message5, message6, message7, message8, message9, message10, message11, message12, message13]

f:id:ts0818:20181226223128p:plain

一括で変換できるとは知らなんだ。
今回はこのへんで。