使用findAll方法的Groovy过滤数组

用户名

我正在学习Groovy,并尝试编写以下Java代码的替代方法。

Collection<Record> records = requestHelper.getUnmatchedRecords();
Collection<Integer> recordIdentifiers = new ArrayList<>();
for (Record record : records){
    int rowId = record.getValue("RowID");
    if (rowId >= min && rowId <= max) {
        recordIdentifiers.add(rowId);
    }
}

当那段代码运行时,recordIdentifiers应该包含50个项目。到目前为止,这与我的Groovy等效。

def records = requestHelper.getUnmatchedRecords()
def recordIdentifiers = records.findAll{record ->
    int rowId = record.getValue("RowId")
    rowId >= min && rowId <= max
}

由于某种原因,在执行Groovy代码后,数组包含100个项目。当数组是在Groovy中本地构建的时,我遇到的所有findAll()示例都进行了简单比较,但是如何过滤从Java类收到的Collection?

蛋白石

似乎很奇怪。以下代码可以正常工作:

def records = [[r:3],[r:5],[r:6],[r:11],[r:10]]
def range = (1..10)
recordIdentifiers = records.findAll { range.contains(it.r) }
assert recordIdentifiers.size() == 4

您能提供一个可行的例子吗?

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

列表中findAll上的Groovy过滤条件

来自分类Dev

多维数组的过滤方法

来自分类Dev

过滤数组数组(最佳方法)

来自分类Dev

使用NSPredicate过滤数组

来自分类Dev

使用 PHP 过滤数组

来自分类Dev

使用数组内容过滤数组

来自分类Dev

使用过滤方法合并两个数组

来自分类Dev

在JavaScript中对多维数组使用过滤方法

来自分类Dev

使用过滤方法从数组中删除元素。

来自分类Dev

使用Array.FindAll()遍历数组

来自分类Dev

在groovy中使用findAll和each更新地图

来自分类Dev

将findAll PagingAndSortingRepository与过滤器一起使用

来自分类Dev

过滤对象数组的最佳方法

来自分类Dev

过滤路径数组的清洁方法

来自分类Dev

使用JavaScript过滤JSON数组

来自分类Dev

使用数组过滤表

来自分类Dev

使用javascript过滤对象数组

来自分类Dev

使用谓词过滤字典数组

来自分类Dev

使用道具过滤标签数组

来自分类Dev

如何使用php过滤数组?

来自分类Dev

使用 typeScript 过滤多维数组

来自分类Dev

使用对象“过滤”对象数组

来自分类Dev

使用findAll()方法的Knp分页器

来自分类Dev

使用包含和数组值过滤数组

来自分类Dev

使用数组过滤数组Javascript

来自分类Dev

Javascript,使用数组过滤数组

来自分类Dev

如何使用基于数组的条件 OR 改进 List.Findall()?

来自分类Dev

使用Groovy连接JSON数组/对象

来自分类Dev

在numpy数组的多个列上使用多个过滤器-更有效的方法?