首先,让我解决一点点你的宣言:
List<Map<String, List<String>>> listOfMapOfList =
new HashList<Map<String, List<String>>>();
请注意,我只用了一次具体课程(HashMap
)。使用可以在稍后改变实现的界面非常重要。
现在你想添加元素到列表中,不是吗?但是元素是地图,所以您必须创建它:
Map<String, List<String>> mapOfList = new HashMap<String, List<String>>();
现在您要填充地图。幸运的是,你可以使用的工具,为您创建列表,否则你必须单独创建列表:
mapOfList.put("mykey", Arrays.asList("one", "two", "three"));
OK,现在我们已经准备好地图添加到列表中:
listOfMapOfList.add(mapOfList);
但是:
立即停止创建复杂的集合!想想未来:您可能必须将内部映射更改为其他内容或列表进行设置等。这可能会导致您重新编写代码的重要部分。相反,定义一个包含你的数据类,然后将其添加到一个立体的集合:
让我们把你的类Student
(只是为例):
public Student {
private String firstName;
private String lastName;
private int studentId;
private Colectiuon<String> courseworks = Collections.emtpyList();
//constructors, getters, setters etc
}
现在,您可以定义简单的集合:
Collection<Student> students = new ArrayList<Student>();
如果将来你想要把你的学生进入地图,关键是studentId
,做到这一点:
Map<Integer, Student> students = new HashMap<Integer, Student>();
您的意思是你需要一个这种形式的地图列表? – 2013-05-13 06:49:31
我假设你正在使用java,并且你的大多数'('实际上应该是'<'。 – CodesInChaos 2013-05-13 06:52:04
Yeah..its java ..既然'<'显示不正确,我用'(' – user2376600 2013-05-13 06:58:56