Надеюсь, что кто-то может помочь мне рассказать, что не так с приведенным ниже кодом, потому что я не получаю ожидаемого результата, как в книге "Head First Kotlin".
data class Grocery (val name:String, val category:String,
val unit:String, val unitPrice: Double,
val quantity: Int)
fun main() {
val groceries = listOf(Grocery("Tomatoes", "Vegetable", "lb", 3.0, 3),
Grocery("Mushrooms", "Vegetables", "lb", 4.0,1),
Grocery("Bagels","Bakery", "Pack", 1.5,2),
Grocery("Olive Oil", "Pantry", "Bottle", 6.0,1),
Grocery("Ice Cream", "Frozen", "Pack", 3.0,2))
groceries.groupBy { it.category }.forEach {
println(it.key)
it.value.forEach { println(" ${it.name}") }
}
я получаю следующий результат:
Vegetable
Tomatoes
Vegetables
Mushrooms
Bakery
Bagels
Pantry
Olive Oil
Frozen
Ice Cream
Когда, как в книге, я должен получить:
Vegetable
Tomatoes
Mushrooms
Bakery
Bagels
Pantry
Olive Oil
Frozen
Ice Cream
Я не уверен, что я что-то упустил или это потому, что я использую kotlin 1,3.
Большое спасибо