我有一个对象列表,这些对象List[Object]都是从同一个类中实例化的.该类有一个必须唯一的字段Object.property.迭代对象列表并删除具有相同属性的所有对象(但第一个)的最简洁方法是什么?
这个问题关系到这一个:是否有可能创建一组类的类(意思是它的扩展Set特性)Scala中,其中使用的平等来定义包含关系是由用户,而不是被定义的==?
测试这是否真的有效的一种方法是检查是否filter返回相同的集合类型.
// typeclass for equality
trait Equals[T] {
def isEqual(t1: T, t2: T): Boolean
}
// an object representing plane coordinates
case class Coordinate(i: Int, j: Int)
// an equality saying that 2 coordinates are equal if they are on
// the same horizontal line
implicit def horizontalEquality: Equals[Coordinate] = new Equals[Coordinate] {
def isEqual(t1: Coordinate, t2: Coordinate) = t1.i == t2.i
}
// we create an EqualitySet[T] where T must …Run Code Online (Sandbox Code Playgroud)