Java 8 Lambda - 过滤两个 ArrayList

苏尔·扎耶夫

我有两个清单。第一个是区域的 ID 列表,第二个是具有嵌套区域对象的节点列表。

我的结构nodeList

....{
 "id": 6412,
 "name": "303000201",
 "description": "desc",
 "organization": {
    "id": 41065,
    "name": "adad",
    "address": null
 },
 "region": {
    "id": 21,
    "name": "Quba rayonu",
    "code": "303"
 },
 "nodeType": {
    "id": "WELL",
    "name": "Quyu",
    "description": null
 },
 "location": {
    "id": 6412,
    "latitude": 41.36735554,
    "longitude": 48.5041245554
 }} ......

和地区列表:

{
  "regions": ["56", "44"]
}

我必须过滤我nodeList的区域 ID。我用旧的方式来做,但我想用 lambda 表达式来做。我该怎么做?

我用谷歌搜索,尝试过,但它不起作用:/

result= nodeList.stream()
                .filter(n -> regionIDList.equals(n.getRegion().getId().toString()))
                .collect(Collectors.toList());

先感谢您。

杰弗里·钟

假设regionIDList是一个List,使用contains代替equals

result = nodeList.stream()
                 .filter(n -> regionIDList.contains(n.getRegion().getId().toString()))
                 .collect(Collectors.toList());

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章