我有一个list
类型的变量,其中item如下所示:
class Item {
List<Integer> customerId;
}
我想将其重新排序为map
,其中键是customerId,然后值是具有该客户ID的所有项的列表。
您可以为客户id和项的每个组合创建Map.Entry,然后使用groupingby
Map<Integer,List<Item>> result = list.stream()
.flatMap(item->item.getCustomerId()
.stream()
.map(id->Map.<Integer,Item>entry(id,item)))
.collect(Collectors.groupingBy(Map.Entry::getKey,
Collectors.mapping(Map.Entry::getValue,Collectors.toList())));
逻辑 输出为
是否有一种方便的Java8流API方法可以从,如下例所示:
问题内容: 如果我有列表,如何以任意方式重新排序商品? 编辑:我不想洗牌。我想以预定义的方式对它们进行重新排序。(例如,我知道旧列表中的第3个元素应成为新列表中的第一个元素) 问题答案: 你可以这样
< code>list_of_lists=[[1,2,3],[4,5,6]] < br > < code > list _ to _ add =[" A "," B "," C"] 我希望结果是list_of_lists会变成: 谢谢!
我想使用Java流按对用户列表进行分组。 例如,我有。
问题内容: 我确信这个问题以前可能已经被问过,但我似乎找不到正确的答案。如果我有两个清单 我正在尝试使用_list1重新排列_list2中的元素,以便它们完全匹配顺序。什么是最干净的方法?所需的输出: 很抱歉,如果这是重复的,但到目前为止,我只能使用压缩的sorted()方法找到数字列表的答案。 如果_list2是列表列表怎么办? 所需输出: 还有一个假设:如果我想使用_list1作为键对其他任何