Kotlin разделить список на списки - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть список объектов, и в объекте у меня есть параметр productId, и я хочу для одного большого списка получить несколько групп списков по productId. Я пытаюсь сделать это:

   val listOne = arrayListOf<TicketDisplay>()
                val listTwo = arrayListOf<TicketDisplay>()
                ticketDisplayList.forEach { ticket ->
                    when (ticket.zoneId) {
                        1.toLong() -> {
                            listOne.add(ticket)
                        }
                        3.toLong() -> {
                            listTwo.add(ticket)

                        }
                    }
                }

1 Ответ

2 голосов
/ 03 апреля 2020

Вы можете сделать это, используя groupBy:

val groups = ticketDisplayList.groupBy { ticket -> ticket.zoneId }
// The list of the tickets with zoneId 1.
val listOne = groups[1]
// The list of the tickets with zoneId 3.
val listTwo = groups[3]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...