Kotlin groupBy的Bug


#1

private val list = listOf(1, 2, 4, 6, 2, 2, 3)
list.groupBy { it -> if (it <= 3) “smallList” else “largeList” }[“smallList”]?.forEach {
d(“groupBy==两个新集合偏小的一个”, it.toString())
}

打印出来的结果少了一个元素2,原集合有7个元素,分组后一个集合有4个元素,另一个集合2个元素,数量上也对不上


#2

https://try.kotlinlang.org/ 在这里把你的代码写好发出来


#3

并没有什么问题


#4

感谢您的回答,我在你发的链接测试了下kotlin的groupBy函数没有问题,是Android studio的Log打印有点Bug,漏了一个元素没打印出来


#5

可能是重复的被折叠了


#6

并不是 Android Log 的 Bug,是 Log 的特性,Log 可能会把短时间内同样的 Log 折叠,并且有提示


#7

没错~


京ICP备16022265号-2 Kotlin China 2017 - 2018