【发布时间】:2015-05-30 04:31:43
【问题描述】:
给定带有n 元素的java.util.List 和所需的页面大小m,我想将其转换为包含n/m+n%m 元素的地图。每个地图元素应包含m 元素。
这是一个整数示例:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// What is the equivalent Java 8 code to create the map below from my list?
Map<Integer, List<Integer>> map = new HashMap<>();
map.put(0, Arrays.asList(1,2,3));
map.put(1, Arrays.asList(4,5,6));
map.put(2, Arrays.asList(7,8,9));
map.put(3, Arrays.asList(10));
这可能吗,使用 Java 8?
【问题讨论】:
-
到目前为止你尝试过什么?请阅读How do I ask a good question?。
-
所以,我查看了 Collectors::partitioningBy ,但它拆分了一个给定谓词的列表。我问这个是因为我不知道在 Java 8 中从哪里开始来实现这一点。
-
@user3030447 确定要
Map<Integer,String>而不是Map<Integer,List<Integer>>?您始终可以在演示阶段将列表转换为通用字符串... -
看this answer的结尾…
-
@Alexis C.:由于集合到
Map中,它不是完全重复的,但链接问题将有助于未来的搜索者。
标签: java list java-8 partition