Kotlin
'associate' can be replaced with 'associateBy' or 'associateWith'
Info
New
Last modified: 03 December 2024 Reports calls to associate()
and associateTo()
that can be replaced with associateBy()
or associateWith()
.
Both functions accept a transformer function applied to elements of a given sequence or collection (as a receiver). The pairs are then used to build the resulting Map
.
Given the transformer refers to it
, the associate[To]()
call can be replaced with more performant associateBy()
or associateWith()
.
Examples:
fun getKey(i: Int) = 1L
fun getValue(i: Int) = 1L
fun test() {
arrayOf(1).associate { getKey(it) to it } // replaceable 'associate()'
listOf(1).associate { it to getValue(it) } // replaceable 'associate()'
}
After the quick-fix is applied:
fun getKey(i: Int) = 1L
fun getValue(i: Int) = 1L
fun test() {
arrayOf(1).associateBy { getKey(it) }
listOf(1).associateWith { getValue(it) }
}
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
ReplaceAssociateFunction
Inspection Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Kotlin, 243.23126-IJ |
Thanks for your feedback!
Was this page helpful?