Я хочу построить карту массива, разбирая список объектов.
Когда индекс этой карты уже добавлен, мне нужно добавить элементы массива, которые не были добавлены ранее, в противном случае мне нужно создать новый элемент на карте.
Допустим, у нас есть CSV с такими данными
names,nicknames
Tom,tommy;timmy
Sam,sammy
Tom,timmy;mymen
И я хочу такую карту:
Map["Tom"] = ["tommy", "timmy", "mymen"]
Map["Sam"] = ["sammy"]
Я очень удивлен, что для этого нет встроенной функции
Что работает, но должно быть улучшено? (у меня есть 400k строк CSV для анализа)
val myObjectList: List<myObject> = beans.parse() /* importing POJOs from csv*/
val myMap: MutableMap<String,List<String>> = mutableMapOf()
myObjectList.forEach { entry ->
if ( myMap[entry.name].isNullOrEmpty()) {
myMap[entry.name] = entry.nicknames.split(";")
} else {
myMap[entry.name]!!.plus(entry.nicknames.split(";"))
}
}
return myMap