java / groovy从列表中收集具有指定值的元素(java/groovy collect elements from list with specified value)
我有一对配对列表,需要找到距离最小的所有配对。
class Pair { ... distance ... } List<Pair> pairs = findAllDistances() // list that holds all pairs with distances double minDistance = pairs.distance.min() // finds minimal distance, for example 1.0 // pairs list contains 15 elements with distance = 1.0 List<Pair> minDistancePairs = pairs.collect { it.distance = minDistance }为什么我在计算后得到minDistancePairs = null ?
I have a list of pairs and need to find all pairs with minimal distance.
class Pair { ... distance ... } List<Pair> pairs = findAllDistances() // list that holds all pairs with distances double minDistance = pairs.distance.min() // finds minimal distance, for example 1.0 // pairs list contains 15 elements with distance = 1.0 List<Pair> minDistancePairs = pairs.collect { it.distance = minDistance }Why I get minDistancePairs = null after calculations?
最满意答案
简单的'='是赋值,double'=='是比较。 假设您要收集距离等于'minDistance'的所有对,您应该:
List<Pair> minDistancePairs = pairs.collect { it.distance == minDistance }Simple '=' is assignation, double '==' is comparison. Assuming you want to collect all pairs where the distance is equal to 'minDistance', you should do:
List<Pair> minDistancePairs = pairs.collect { it.distance == minDistance }更多推荐
发布评论