Multimap Java的多重映射 – 对时间表进行分类

我已经解析了一个HTML时间表并将每个Subject加载到我的类对象中。 所以我有我的主题的arrayList,其中包含姓名,老师,…,HOUR和DAY的信息,现在我想要重建表格,所以我需要先对它进行分类。 我认为最好是这样的结构:

Monday: 1: Math, Czech, ... 2: History ... Tuesday: 1: English, Geo 2... ... 

在给定的时间内可能有多个主题,因此我尝试使用Multimap的Multimap,但我无法在解析期间声明它。

 Multimap<String, Multimap> timetable = HashMultimap.create(); ... for ... timetable.put(subject.den, new HashMultimap(subject.hod, subject)); 

但它说HashMultimap有私人访问com.google.common …我不知道如何正确地写这个。 我也在考虑使用Array,但我必须预先声明它,我想在一个循环中构建它。 有任何想法吗? 先感谢您

它看起来像你想要的实际上更多的是Map> ,在这种情况下你想要的

  Map> timetable = new HashMap<>(); for ... Multimap multimap = timetable.get(subject.den); if (multimap == null) { multimap = HashMultimap.create(); timetable.put(subject.den, multimap); } multimap.put(subject.hod, subject);