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

如何用Lambda将List的List转换为Java中的Hashset[duplicate]

鲜于华容
2023-03-14

我有一个包含用户数据的类。

public class UserData {
    @JsonProperty("uid")
    private String userId;

    @JsonProperty("cities")
    private List<Integer> cities;

}

列表 中,我想提取所有唯一的城市。改变,我为此而做,

Set<Integer> citiesList = new HashSet<>();

for (UserData userData : userDataList)
       citiesList.addAll(userData.getCities());

这些变化的lambda表达式是什么?

任何帮助都将不胜感激。

共有1个答案

别俊誉
2023-03-14

感觉应该使用.FlatMap()list.stream()操作,而不是特定的lambda表达式:

Set<Integer> citiesList = userDataList.stream()
  .map(UserData::getCities)
  .flatMap(List::stream)
  .collect(Collectors.toSet());
 类似资料:
  • 我有我想分批处理的编号列表。

  • 我需要从<代码>列表转换 我做了: 但是我得到了这个字符串: 只是一个字符串,但我需要字符串[] 多谢了。

  • 我在MongoDB中使用Java驱动程序3.0,以便通过Web服务发送JSON。 当我想将文档对象(org.bson.文档)转换为JSON时,我使用,当我想将JSON转换为文档对象时,我使用。 但是,当我处理文档列表时(如JSON中所示:

  • 问题内容: 如何转换成? 当然,除了循环地逐项执行之外,我对任何其他答案都感兴趣。但是,如果没有其他答案,我将选择一个作为最佳答案,以证明此功能不是Java的一部分。 问题答案: 没有捷径可转换为因为它不会处理拳击,只会创建你不想要的。你必须制作一个实用程序方法。

  • 问题内容: 将a转换为a 的最佳方法是什么?只是迭代所有值并将它们插入列表中,还是我忽略了某些内容? 问题答案: 假设:

  • 问题内容: 如何在Java中将通用列表转换为json。我有这样的类.. 我想将outputList转换为Java中的json。转换后我会将其发送到客户端。 问题答案: 为此使用GSON库。这是示例代码 这是Gson的Maven依赖 或者您可以从此处直接下载jar并将其放在您的课​​程路径中 http://code.google.com/p/google- gson/downloads/detail