当前位置: 首页 > 知识库问答 >
问题:

将包含列表的列表重新排序到映射中[重复]

古扬
2023-03-14

我有一个list 类型的变量,其中item如下所示:

class Item {
    List<Integer> customerId;
}

我想将其重新排序为map > ,其中键是customerId,然后值是具有该客户ID的所有项的列表。

共有1个答案

澹台博文
2023-03-14

您可以为客户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作为键对其他任何