在Kotlin中,双循环需要很多时间。我有一个单词列表(有时列表包含100k +个单词)。我想在我的产品列表中搜索包含单词的列表。如何改善以下代码?如果单词组合增加,则会引起错误。
private fun getProductListFromCombinations(combination:List<String>): List<ProductEntity> {
val arrayList= mutableListOf<ProductEntity>()
for (comb in combination){
val searchedList = listAllProduct.filter {
obj -> obj.name.contains(comb,true)
}
arrayList.addAll(searchedList)
}
return arrayList.distinct()
}
答案 0 :(得分:1)
private fun getProductListFromCombinations(combination: List<String>): List<ProductEntity> {
return listAllProduct.filter { productEntity ->
combination.any { it.contains(productEntity.name, true) }
}
}
希望获得帮助。