我已经解析了HTML时间表并将每个Subject加载到我的类对象中。 所以我有我的主题的arrayList,它有姓名,老师,...,HOUR和DAY的信息 现在我想重建表格,所以我需要先对它进行分类。我认为最好是拥有这样的结构:
Monday: 1: Math, Czech, ...
2: History
...
Tuesday: 1: English, Geo
2...
...
在给定的时间内可能有多个主题,因此我尝试使用Multimap的Multimap,但我无法在解析期间声明它。
Multimap<String, Multimap<String, Subject>> timetable = HashMultimap.create();
...
for ...
timetable.put(subject.den, new HashMultimap<>(subject.hod, subject));
但是它说HashMultimap在com.google.common上有私人访问... 我不知道如何正确地写这个。我也在考虑使用Array,但我必须预先声明它,我想在一个循环中构建它。 有任何想法吗?提前谢谢
答案 0 :(得分:1)
看起来你想要的实际上更像是Map<String, Multimap<String, Subject>>
,在这种情况下你需要
Map<String, Multimap<String, Subject>> timetable = new HashMap<>();
for ...
Multimap<String, Subject> multimap = timetable.get(subject.den);
if (multimap == null) {
multimap = HashMultimap.create();
timetable.put(subject.den, multimap);
}
multimap.put(subject.hod, subject);