javaで連想配列の2次元配列を作りたい
解決したいこと
javaで以下の配列を作りたい
{{国語=78, 数学=90, 英語=20}, {国語=50, 数学=40, 英語=90}, {国語=80, 数学=60, 英語=85}}
発生している問題・エラー
Main.java:4: error: incompatible types: LinkedHashMap<String,Integer> cannot be converted to List<Map<String,Integer>>
List<Map<String, Integer>> nameMap = new LinkedHashMap<String, Integer>();
^
Main.java:15: error: cannot find symbol
nameMap.put(scoresMap_suzuki);
^
symbol: method put(Map<String,Integer>)
location: variable nameMap of type List<Map<String,Integer>>
Main.java:16: error: cannot find symbol
nameMap.put(scoresMap_satoh);
^
symbol: method put(Map<String,Integer>)
location: variable nameMap of type List<Map<String,Integer>>
3 errors
該当するソースコード
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
List<Map<String, Integer>> nameMap = new LinkedHashMap<String, Integer>();
//
Map<String, Integer> scoresMap_suzuki = new LinkedHashMap<String, Integer>();
scoresMap_suzuki.put("国語", 78);
scoresMap_suzuki.put("数学", 90);
//
Map<String, Integer> scoresMap_satoh = new LinkedHashMap<String, Integer>();
scoresMap_satoh.put("国語", 50);
scoresMap_satoh.put("数学", 40);
//nameマップのvalueに上記3つのマップを入れることで2次元マップを実現
nameMap.put(scoresMap_suzuki);
nameMap.put(scoresMap_satoh);
System.out.println(nameMap);
}
}
自分で試したこと
List<Map<String, Integer>> nameMap = new LinkedHashMap<String, Integer>();
上記を以下に変えてみた」
List<Map<String>> nameMap = new ArrayList<>();
0