【问题标题】:Find values from list of map using streams [closed]使用流从地图列表中查找值[关闭]
【发布时间】:2020-02-20 06:46:27
【问题描述】:
List<Map<String, Object>> sqlResult = new ArrayList<>();

上面的地图列表包含以下记录:

1. facilityId="1", shipmentMethod="NEXT_DAY"

2. facilityId="2", shipmentMethod="STANDARD"

我想使用 java 流找到shipmentMethod,其中facilityId"1"

另外,我只想获取一条记录。

【问题讨论】:

  • 请添加您当前的解决方案/尝试
  • 你之前尝试过什么?为什么没有解决你的问题?为什么这些尝试无法挽救?你在哪里寻找答案?为什么需要流?

标签: java dictionary arraylist java-8 java-stream


【解决方案1】:

你可以简单地使用filter:

Object shipmentMethods = sqlResult.stream() // stream maps
    .filter(m -> m.get("facilityId").equals("1")) // filter only those, that have facilityId = "1"
    .map(m -> m.get("shipmentMethod")) // get only shipmentMethod
    .findAny().orElse(/* default value */); // get only one value

【讨论】:

  • 丢失它在最后一行 [: -|
猜你喜欢
  • 2018-06-21
  • 1970-01-01
  • 2012-12-02
  • 2022-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-26
相关资源
最近更新 更多