我有一个List[String]
. 我想按给定的等价关系对其进行分组:
def f(x: String, y: String): Boolean = {
if (x == "" || y == "") {
false
} else {
x == y
}
}
我已经尝试过 method groupBy
,但我无法将空字符串放在单独的组中。
我更喜欢任何等价关系的答案f(x: String, y: String): Boolean
,而不仅仅是这个。
编辑:我没有指定,但输入类型是真的List[String]
,不是List[(String, String)]
,f
是 a binary relation
,这就是为什么它有 2 个字符串输入,并且预期的返回类型是List[List[String]]
编辑:正如@andrey-tyukin 所提到的,f
它不是等价关系,所以要求“任何等价关系的答案”是无稽之谈。
编辑:一个例子:
Input: List("a", "a", "b", "", "")
Output: List(List("a", "a"), List("b"), List(""), List(""))
- "a" == "a",这就是为什么他们在同一个组
- 虽然是“”==“”,但是
f
会导致false,所以他们不在同一个组