鉴于名单:
list: [
object1: {
id: 22,
name: "Tom"
},
object2: {
id: 12,
name: "Mary"
},
object3: {
id: 44,
name: "Tom"
}
]
除了使用嵌套循环之外,是否还有其他单行代码只能从此列表中获取重复名称?所以返回列表将是
["Tom"]
最佳答案
另一种方法是将它们与一个计数分组,并找到计数大于 1 的所有那些:
list.name.countBy { it }.findResults { it.value > 1 ? it.key : null }
或者确实如@Daniel 所说:
list.values().name.countBy { it }.findResults { it.value > 1 ? it.key : null }
根据你的结构...
关于groovy - 从 groovy 中的列表中获取重复项的更简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49800506/