将两个不同的数据 class 列表合并到第三个 Kotlin
Merge two different data class lists in to the the third one Kotlin
我想在我的新数据中添加额外的字段 class 来自旧数据,它有一个额外的余额值字段。我已经创建了带有 ID 和值(余额)的数据 class 列表,我想将第一个数据 class 列表与第二个数据列表合并以生成第三个列表 - 类似于 sql 中的联合.
第一个数据class
data class Coin(
val id: String,
val price_usd: Double,
val name: String,
val rank: Int,
val symbol: String
)
秒数据class
data class CurrencyBalance(
val id: String,
val quantity: String
)
目的是创建这种类型的数据class列表
data class CoinData(
val id: String,
val price_usd: Double,
val name: String,
val rank: Int,
val symbol: String,
val quantity: String
)
您正在寻找这样的东西吗?
fun convert(currencyBalances: List<CurrencyBalance>, coins: List<Coin>): List<CoinData> =
currencyBalances.map { currencyBalance ->
coins.firstOrNull { coin -> coin.id == currencyBalance.id }
?.let { coin -> CoinData(coin.id, coin.price_usd, coin.name, coin.rank, coin.symbol, currencyBalance.value) }
}.filterNotNull()
我在这里假设 CurrencyBalance
中的字段称为 id
和 value
我想在我的新数据中添加额外的字段 class 来自旧数据,它有一个额外的余额值字段。我已经创建了带有 ID 和值(余额)的数据 class 列表,我想将第一个数据 class 列表与第二个数据列表合并以生成第三个列表 - 类似于 sql 中的联合.
第一个数据class
data class Coin(
val id: String,
val price_usd: Double,
val name: String,
val rank: Int,
val symbol: String
)
秒数据class
data class CurrencyBalance(
val id: String,
val quantity: String
)
目的是创建这种类型的数据class列表
data class CoinData(
val id: String,
val price_usd: Double,
val name: String,
val rank: Int,
val symbol: String,
val quantity: String
)
您正在寻找这样的东西吗?
fun convert(currencyBalances: List<CurrencyBalance>, coins: List<Coin>): List<CoinData> =
currencyBalances.map { currencyBalance ->
coins.firstOrNull { coin -> coin.id == currencyBalance.id }
?.let { coin -> CoinData(coin.id, coin.price_usd, coin.name, coin.rank, coin.symbol, currencyBalance.value) }
}.filterNotNull()
我在这里假设 CurrencyBalance
中的字段称为 id
和 value