КСТАТИ:
- Ваш набор может быть фактически картой
Map<String, Any>
chart_values
не соответствует правилам именования котлинов. Используйте случай верблюда
Так как значение имеет тип Any
- который должен быть изменен на более конкретный тип, если это возможно - мы должны сначала проверить, например,
val chart_values: MutableSet<MutableMap.MutableEntry<String, Any>>? = mutableSetOf()
val withoutEmptyValues = chart_values.filter { (_, value) -> value is Collection<*> && value.isNotEmpty() }
РЕДАКТИРОВАТЬ
Если некоторые элементы не являются коллекциями:
val withoutEmptyValues = chart_values.filter { (_, value) -> if(value is Collection<*>) value.isNotEmpty() else true }
Тест
Я не могу создать экземпляры MutableMap.MutableEntry
, поэтому я создалМао, который делает это для меня внутренне:
val map: MutableMap<String, Any> = mutableMapOf(
"ground" to listOf<Int>(1, 2, 3),
"empty" to emptyList<Double>(),
"date" to "1988-07-18T00:00Z"
)
val withoutEmptyValues = map
.filter { (_, value) -> if (value is Collection<*>) value.isNotEmpty() else true }
assertThat(withoutEmptyValues).isNotEmpty.isEqualTo(
mutableMapOf<String, Any>(
"ground" to listOf<Int>(1, 2, 3),
"date" to "1988-07-18T00:00Z"
)
)