İçeriğe geç

Verimsiz üyelik testi (ARCH8075)

Anahtar kotlin.performance.inefficient-membership-test · Önem warning · Kategori performance

Döngü içindeki in list / list.contains kullanımını işaretler - yineleme başına O(n) tarama; Set ile O(1) olur. Aralıklar (list.indices, 0 until n) ve beşten az sabit elemanlı koleksiyonlar muaftır.

for (id in ids) {
if (id in blockedList) skip(id)
}
val blocked = blockedList.toSet()
for (id in ids) {
if (id in blocked) skip(id)
}

Koleksiyonu döngü dışında bir kez Set’e çevirin.