如何在Kotlin中初始化大的不可变映射?

如何在Kotlin中初始化大的不可变映射?,kotlin,initialization,containers,Kotlin,Initialization,Containers,我有一个很大的数据集。它包含1000多条记录。此数据集将一个字符串映射到另一个字符串。因此使用Map很方便。此映射中的数据在应用程序运行期间不会更改,因此不可变映射是正常的 我找到的映射的唯一初始化方法是mapOf函数: testMap = mapOf("One" to "1", "Two" to "2", "Eight" to "8") 但我不能将整个数据集放在一行中。这是非常不方便的,代码看起来完全不可读和丑陋。 更方便的初始化方法是在循环中逐行读取txt文件中的数据集,并用这些行填充地图

我有一个很大的数据集。它包含1000多条记录。此数据集将一个字符串映射到另一个字符串。因此使用
Map
很方便。此映射中的数据在应用程序运行期间不会更改,因此不可变映射是正常的

我找到的映射的唯一初始化方法是mapOf函数:

testMap = mapOf("One" to "1", "Two" to "2", "Eight" to "8")
但我不能将整个数据集放在一行中。这是非常不方便的,代码看起来完全不可读和丑陋。 更方便的初始化方法是在循环中逐行读取txt文件中的数据集,并用这些行填充地图


是否可以在循环中填充映射?

您可以使用
HashMap
,并按如下方式初始化:

val map = hashMapOf<String,String>()
for (i in 0..1000){
    // Logic to read txt
    map["key"] = "value"
}
val-map=hashMapOf()
对于(0..1000中的i){
//读取txt的逻辑
映射[“键”]=“值”
}

您可以使用
HashMap
,并按如下方式初始化:

val map = hashMapOf<String,String>()
for (i in 0..1000){
    // Logic to read txt
    map["key"] = "value"
}
val-map=hashMapOf()
对于(0..1000中的i){
//读取txt的逻辑
映射[“键”]=“值”
}