Как получить определенный предмет у сгруппированного массива android kotlin? - PullRequest
0 голосов
/ 20 января 2020

У меня есть такой отфильтрованный массив:

val tess = questionArrayList.filter { model -> model.id in answeredQuestions }
val array2: ArrayList<Int> = ArrayList()
for (i in tess.indices) {
    array2.add(tess[i].tasks_group!!)
}

, затем я группирую его:

val variable = array2.groupingBy { i: Int -> i }.eachCount()

, и мне нужно получить элементы variable, число которых == 3. I пытался сделать это так:

if (variable.containsValue(3)){

}

но я не знаю, как получить определенный предмет. Это значит, что мне нужны ключи предметов, значение которых равно 3. Я попытался также сделать это с помощью l oop, но мне не удалось решить эту проблему.

1 Ответ

1 голос
/ 20 января 2020
val withValue3 = variable.filterValues { value -> value == 3 } 
if (withValue3.isNotEmpty()) { 
    //...
}

или

if (variable.containsValue(3)) {
    val withValue3 = variable.filterValues { value -> value == 3 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...