检查集合中包含的所有元组中的给定元素是否相等
Checking if a given element in all the tuples contained in the collection is equal
有一个元组集合,我想检查所有元组中的给定元素是否相等。
例如考虑这个数组中所有元组的第二个元素应该return false
:
val a = Array((4,2), (8,1), (9,4), (10,2), (13,1))
考虑到这个数组中所有元组的第二个元素应该return true
:
val b = Array((4,3), (8,3), (9,3), (10,3), (13,3))
如果我理解正确你的问题,你可以这样做:
val a = Array((4,2), (8,1), (9,4), (10,2), (13,1))
val b = Array((4,3), (8,3), (9,3), (10,3), (13,3))
a.map(_._2).toSet.size == 1 // false
b.map(_._2).toSet.size == 1 // true
可以玩玩here
尝试
a.forall { case (key, value) => value == a.head._2 } // res2: Boolean = false
b.forall { case (key, value) => value == b.head._2 } // res3: Boolean = true
注意在空数组的情况下Array.empty[(Int, Int)]
这个解决方案returns true
.
灵感来自
有一个元组集合,我想检查所有元组中的给定元素是否相等。
例如考虑这个数组中所有元组的第二个元素应该return false
:
val a = Array((4,2), (8,1), (9,4), (10,2), (13,1))
考虑到这个数组中所有元组的第二个元素应该return true
:
val b = Array((4,3), (8,3), (9,3), (10,3), (13,3))
如果我理解正确你的问题,你可以这样做:
val a = Array((4,2), (8,1), (9,4), (10,2), (13,1))
val b = Array((4,3), (8,3), (9,3), (10,3), (13,3))
a.map(_._2).toSet.size == 1 // false
b.map(_._2).toSet.size == 1 // true
可以玩玩here
尝试
a.forall { case (key, value) => value == a.head._2 } // res2: Boolean = false
b.forall { case (key, value) => value == b.head._2 } // res3: Boolean = true
注意在空数组的情况下Array.empty[(Int, Int)]
这个解决方案returns true
.
灵感来自