После выполнения parallelStream()
на List
я получаю List<Map<String, Set<String>
.Я хочу объединить это в Map<String, Set<String>>
(который будет сохранять уникальность только для List
из Map
с).
Я не знаком с функциями collect
и reduce
, так чтоНе нужно ничего делать.
Существующий код:
private val TYPES = listOf("string", "integer")
private fun getLinesOfEachTypeAcrossMultipleFiles(files: List<File>): Map<String, Set<String>> {
return files
.parallelStream()
.map { file ->
TYPES.associate {
it to getRelevantTypeLinesFromFile(file)
}
}
// Converted into a Stream<String, Set<String>>
// .reduce() / collect() ?
}
private fun getRelevantTypeLinesFromFile(it: File): Set<String> {
// Sample code
return setOf()
}