Я хочу объединить два списка с разным типом и создать и другой список, который содержит данные из обоих списков.Кроме того, объединение должно происходить только в случае совпадения идентификатора (например, совпадения идентификатора в обоих списках)
Employee(val employeeId: Int,
val employeeName: String,
val address: String)
LaptopInfo(val laptopId: Int,
val employeeId: String,
val team: String)
EmployeeLaptopInfo(val laptopId: Int,
val employeeId: String,
val employeeName: String,
val address: String)
. Таким образом, существует список Employee
и LaptopInfo
, и я хочу добавить EmployeeLaptopInfo в List<EmployeeLaptopInfo>
только тогда, когдаСоответствие employeeId в обоих списках
val employeeLaptopInfoList = mutableListOf<EmployeeLaptopInfo>()
val employeeIds = employeeList.map { it.employeeId }.toSet()
lapTopInfoList.filter { employeeIds.contains(it.employeeId) }
.map {
val employeeLaptopInfo = EmployeeLaptopInfo(it.laptopId, laptopId.employeeId, "can't get info", "can't get info")
employeeLaptopInfoList.add(employeeLaptopInfo)
}
Но в этом случае я не получаю информацию из обоих списков.Есть ли способ сделать это без использования цикла for и эффективным способом.