【发布时间】:2017-12-27 11:52:24
【问题描述】:
地图的类型为Map<String, List<MyClass>>
我有 100 多个与 Key 关联的 MyClass 对象。
如果超过100,我需要拆分它。
例如 输入是
Map<String, List<MyClass>> myMap = new HashMap<String, List<MyClass>>();
myMap.put("ABC", [CustomObject1,CustomObject2,CustomObject3....CustomObject100...CustomObject110]);
& 输出应该是
myMap.put("ABC", [CustomObject1,CustomObject2,CustomObject3....CustomObject100]);
myMap.put("ABC", [CustomObject100,CustomObject101....CustomObject110]);
我想获取 myMap.containsKey(string) 并检查列表的大小,然后创建新条目或将其添加到相同的条目中。 我尝试使用番石榴的多图,但是当我尝试获取元素时它返回 Collection> 所以不知道如何插入它。或者是否有更好的选择?
【问题讨论】:
-
元素的顺序重要吗?这就是 Guava MultiMap 返回的 Collection 给您带来问题的原因吗?
-
排序并不重要。集合是 json 文件,我试图将其转换为 Map
> 但 List 的大小受到限制。 -
所以一旦“ABC”列表达到其最大大小 100,您想创建一个替换现有列表的新列表吗?或者您希望“ABC”键引用 2 个单独的列表?
-
"ABC" 键来引用 2 个单独的列表。
-
是否可以为所有 MyClass 对象创建一个“ABC”映射,然后将它们分成 100 个块?