【发布时间】:2016-05-14 03:20:29
【问题描述】:
这是一个在数据更新中确定更新数据的场景。案例类对象的 Seq 具有它们的 ID,并且案例类具有覆盖 equals 方法,该方法对其属性进行数据比较,不包括 ID 字段。要找出任何更新的数据条目,我需要从数据库中检索数据。并且需要比较两个序列。什么是 Scala 方法来找出任何更新的对象?
只是有一个想法:创建一个以对象 ID 为键、对象为其值的映射。这可能行得通。
(更新)这是我出来的解决方案
val existingDataList: Foo = ...
val existingDataMap: Map[Long, Foo] = existingDataList.map(d => d.id -> d)(collection.breakOut)
// To find out updated data
val updatedData = inputData.filter(d => existingDataMap.get(d.id) != d)
【问题讨论】:
标签: scala