Java Groovy从集合中删除值

Java Groovy从集合中删除值,java,groovy,Java,Groovy,在groovy中,有一种从集合中移除值的特定方法。例如,我有一个表单字段列表,但其中两个是隐藏字段,我正试图找出如何从集合中删除它们。我试图删除的两个参数是salesKey和topicSelection。Groovy新手,所以代码示例非常有用 request.requestParameterMap.collect { key, value -> "$key: ${value[0].string}" }.join("\n") key.remove("salesKey") key.remove

在groovy中,有一种从集合中移除值的特定方法。例如,我有一个表单字段列表,但其中两个是隐藏字段,我正试图找出如何从集合中删除它们。我试图删除的两个参数是salesKeytopicSelection。Groovy新手,所以代码示例非常有用

request.requestParameterMap.collect { key, value -> "$key: ${value[0].string}" }.join("\n")
key.remove("salesKey")
key.remove("topicSelection")
看看这个


此外,根据您的具体目标,还有两种其他方法可以删除对,包括
dropWhile
(这或多或少地在数据结构上迭代)和
减去
(与其说是删除对,不如说是在没有指定对的情况下创建新结构)。官方文件。

我想你可以使用findAll:

request.requestParameterMap.findAll { key, value -> 
    !( key in ["salesKey", "topicSelection"] )
}

对不起,我是groovy的新手,我不确定我是否在跟踪。我表单中的字段不是0索引。我是否定义了一系列值,而不是遍历我的集合。如果你有一个代码示例,那将是惊人的!谢谢@tim_yates,这很有效。除了值正在为我生成一个空白结果之外,以下是我拥有的request.requestParameterMap.findAll{key,value->!(输入[“salesKey”,“topicSelection”]?value.toString():null})