Kotlin(Android)列表中的HashMap

Kotlin(Android)列表中的HashMap,android,firebase,kotlin,Android,Firebase,Kotlin,我试图在Kotlin的列表中表示HashMap。 该清单的结构如下: daysOfWeekHashMapOptions = listOf( hashMapOf("key" to 0, "label" to "Monday"), hashMapOf("key" to 1, "label" to "Tuesday"), hashMapOf("key

我试图在Kotlin的列表中表示HashMap。 该清单的结构如下:

daysOfWeekHashMapOptions = listOf(
    hashMapOf("key" to 0, "label" to "Monday"),
    hashMapOf("key" to 1, "label" to "Tuesday"),
    hashMapOf("key" to 2, "label" to "Wednesday"),
    hashMapOf("key" to 3, "label" to "Thursday"),
    hashMapOf("key" to 4, "label" to "Friday"),
    hashMapOf("key" to 5, "label" to "Saturday"),
    hashMapOf("key" to 6, "label" to "Sunday")
)
这样设置的方式是,我的Firebase Firestore将一周中选定的几天存储在如下列表中:

daysOfWeek [
    0: {
        key: 0
        label: "Monday"
    },
    1: ...
]
我遇到的问题是,我想在我的Android应用程序中创建一个AutoCompleteText,这样我就可以选择这些值并适当地显示它们。因此,我希望AutoCompleteText的ArrayAdapter将每个
标签
参数作为一个选项来选择。然后,来自AutoCompleteText的选定选项(HashMap)的存储值将存储在列表/数组中。然而,能够“过滤”并分割选项列表和HashMap是困难的


在JavaScript中,这可能类似于
daysOfWeekHashMapOptions.filter(value=>value.label)
(可能)。非常感谢您在Kotlin提供的任何帮助或指导,谢谢

您可以使用
map

labels=daysOfWeekHashMapOptions.map{it.get(“label”)}

标签
的值类型为
列表

您可以使用
映射

labels=daysOfWeekHashMapOptions.map{it.get(“label”)}

标签
的值类型为
列表

这是您的第二个问题:

val-map=HashMap()
地图放置(0,“星期一”)
地图放置(1,“星期二”)
地图放置(2,“星期三”)
地图放置(3,“星期四”)
地图放置(4,“星期五”)
地图放置(5,“星期六”)
地图放置(6,“星期日”)
您的数据库如下所示:

daysOfWeek [
    0: "Monday"
    1: "Tuesday"
    ...........
    6: "Sunday"
]

如果您不打算只存储一周中的几天以外的任何东西,那么这是最好的方法。

这是您的第二个问题:

val-map=HashMap()
地图放置(0,“星期一”)
地图放置(1,“星期二”)
地图放置(2,“星期三”)
地图放置(3,“星期四”)
地图放置(4,“星期五”)
地图放置(5,“星期六”)
地图放置(6,“星期日”)
您的数据库如下所示:

daysOfWeek [
    0: "Monday"
    1: "Tuesday"
    ...........
    6: "Sunday"
]

如果你不打算只储存一周中的几天以外的任何东西,那么这是最好的方式。

太棒了!非常感谢。作为一个额外的问题。现在,如果我有一个芯片组(带有芯片),存储从AutoCompleteText中选择的日期。如何从
daysOfWeekHashMapOptions
中找到与每个芯片的文本(标签)值匹配的HashMap值?再次感谢:)您想根据“标签”获取“密钥”?感谢您的回复@Tugqay,或者从
daysOfWeekHashMapOptions
获取实际值。例如,我遍历芯片组中的子级列表。然后我想在
daysOfWeekHashMapOptions
中找到所有元素,这些元素有一个
标签
与芯片的文本相同,你所说的实际值是什么意思?芯片组的数据类型是什么?Hi@Tuqay。对不起,我的措辞。我将其计算为:
daysOfWeekHashMapOptions.filter{it[“label”]==chip.text.toString()}
。这将返回一个列表,其中包含与芯片文本匹配的星期哈希映射值。太棒了!非常感谢。作为一个额外的问题。现在,如果我有一个芯片组(带有芯片),存储从AutoCompleteText中选择的日期。如何从
daysOfWeekHashMapOptions
中找到与每个芯片的文本(标签)值匹配的HashMap值?再次感谢:)您想根据“标签”获取“密钥”?感谢您的回复@Tugqay,或者从
daysOfWeekHashMapOptions
获取实际值。例如,我遍历芯片组中的子级列表。然后我想在
daysOfWeekHashMapOptions
中找到所有元素,这些元素有一个
标签
与芯片的文本相同,你所说的实际值是什么意思?芯片组的数据类型是什么?Hi@Tuqay。对不起,我的措辞。我将其计算为:
daysOfWeekHashMapOptions.filter{it[“label”]==chip.text.toString()}
。这将返回一个列表,其中包含与芯片文本匹配的周天数哈希映射值。谢谢@Tuqay,我将改为使用这种方式。这肯定更有意义!谢谢@Tuqay,我会考虑用这种方式来代替。这肯定更有意义!