地图属于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(字符串)并检查列表的大小,然后创建新条目或将其添加到同一个条目中。 我尝试使用番石榴的多重图,但它返回Collection&gt;当我试图获取元素,所以不知道如何插入它。或者,如果有更好的选择吗?
答案 0 :(得分:0)
尝试使用Guava Lists.partition
Map<String, List<MyClass>> myMap = new HashMap<String, List<MyClass>>();
myMap.put("ABC", [CustomObject1,CustomObject2,CustomObject3....CustomObject100...CustomObject110]);
Map<String, List<List<MyClass>>> output = myMap.entrySet().stream().collect(Collectors.toMap(e -> e.getKey(), e -> Lists.partition(e.getValue(), 100)));