【Java】Mapデータを特定のキー順に取得する方法

Java

例えばこのようなMapデータがあるとして、

Map<String, String> mapData = new HashMap<>();
        mapData.put("理科", "80点");
        mapData.put("国語", "40点");
        mapData.put("社会", "56点");
        mapData.put("算数", "86点");

例えば、国語、算数、理科、社会の順に表示したいとすると

public class MapSort {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Map<String, String> mapData = new HashMap<>();
        mapData.put("理科", "80点");
        mapData.put("国語", "40点");
        mapData.put("社会", "56点");
        mapData.put("算数", "86点");
        
        String order[] = {"国語", "算数", "理科", "社会"};
        for (String key : order) {
        	System.out.println("key=" + key + ", value=" + mapData.get(key));
        }
	}

}

配列を使って出力したいキーを並べてあげる。
やり方は他にいくらでもあると思うけど、
これがシンプルでわかりやすいかも。

タイトルとURLをコピーしました