Dee*_*abi 11 scala list apache-spark
我有一个List[<DataType>]
输入.我想检查列表是否包含所有相同的值(不是数据类型).
在Scala中是否有内置方法或直观方式来执行此操作,而不是迭代列表和检查.
jwv*_*wvh 17
这将在第一个非等于元素上终止.元素类型必须支持像==
或的比较器!=
.
lst.forall(_ == lst.head) // true if empty or all the same
lst.exists(_ != lst.head) // false if empty or all the same
Run Code Online (Sandbox Code Playgroud)
一种(低效但优雅的)方式是
List(1, 2, 2, 1, 1).distinct.length == 1 // returns false
List(1, 1, 1, 1, 1).distinct.length == 1 // returns true
List().distinct.length == 1 // empty list returns false
Run Code Online (Sandbox Code Playgroud)
请注意,它们必须属于同一类型
List(4, 4.0, "4").distinct.length == 1 // returns false
Run Code Online (Sandbox Code Playgroud)