Inspectopedia Help

Collection count can be converted to size

Reports calls to Collection<T>.count().

This function call can be replaced with .size.

.size form ensures that the operation is O(1) and won't allocate extra objects, whereas count() could be confused with Iterable<T>.count(), which is O(n) and allocating.

Example:

fun foo() { var list = listOf(1,2,3) list.count() // replaceable 'count()' }

After the quick-fix is applied:

fun foo() { var list = listOf(1,2,3) list.size }

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Kotlin, @snapshot@

Last modified: 13 July 2023