我的名单如下{(“a”,1),(“b”,2),(“c”,3),(“a”,4)}
我想将其转换为如下列表映射{("a"(1,4)),("b",(2)),("c",(3))}
也就是说,对于a,我们有一个1和4的列表,因为键是相同的。
Kotlin中如何将列表转换为地图中的答案?只显示唯一的价值(而不是像我一样的重复)。
我在Kotlin尝试了associateBy
data class Combine(val alpha: String, val num: Int)
val list = arrayListOf(Combine("a", 1), Combine("b", 2), Combine("c", 3), Combine("a", 4))
val mapOfList = list.associateBy ( {it.alpha}, {it.num} )
println(mapOfList)
但似乎不起作用。我怎样才能在 Kotlin 中做到这一点?
您可以先按< code>alpha对列表进行分组,然后将值映射到< code>List
data class Combine(val alpha: String, val num: Int)
val list = arrayListOf(Combine("a", 1), Combine("b", 2), Combine("c", 3), Combine("a", 4))
val mapOfList = list
.groupBy { it.alpha }
.mapValues { it.value.map { it.num } }
println(mapOfList)
fun main(args: Array<String>) {
data class Combine(val alpha: String, val num: Int)
val list = arrayListOf(Combine("a", 1), Combine("b", 2), Combine("c", 3), Combine("a", 4))
val mapOfList = list.associateBy ( {it.alpha}, {it.num} )
println(mapOfList)
val changed = list
.groupBy ({ it.alpha }, {it.num})
println(changed)
}
{a=4, b=2, c=3}
{a=[1, 4], b=[2], c=[3]}
组合
s的alpha值到它们的num
值函数应将类型擦除列表转换为,即
我有两个单选组(组1和组2),分别包含3个单选按钮。我用这个准则把左右两列分开,各占一半。由于两个无线组是分开的,当用户单击组1时,我希望清除组2中的选定项(如果有)。任何想法都可以做到,因为我是由Kotlin编写的,所以我在stackoverflow ConstraintLayout、RadioGroup和RadioButton RadioGroup的两列中找到了一些示例,其中两列有十个单选按钮
这两个代码片段有什么区别?以及如何决定使用哪一个? 和 有了这两个代码,我可以像这样通过索引访问它
刚开始和Kotlin合作我很喜欢但是。。。我无法理解这种语言中的列表和数组。我对编程并不陌生,也不需要解释数组是什么。我不明白的是。 > 列表和数组之间有什么区别?它们看起来非常相似,您可以使用[索引]访问它们,也可以以几乎相同的方式使用它们。如果一个列表是不可变的,那么它们就更加相同了,所以。。。有什么区别?假设列表不是链表,它们都在O(1)访问时间内工作。 如果我使用列表;可变和不可变之间有什
我有以下代码,希望使用Java8将列表转换为。 当我尝试将列表中的单个值映射为映射的键时,我得到了一个错误。
我是Mapstruct的新手。我试图将列表转换为地图,我在网上搜索了很多,我有一些解决方案,比如它还没有在mapstruct中实现。如果有人能提供一些替代解决方案,我将很高兴。所有我希望转换映射如下: 现在是否可以使用MapStruct来实现?