Verimsiz üyelik kontrolü (ARCH4075)
Anahtar java.performance.inefficient-membership-test · Önem warning · Kategori performance
List.contains her çağrıda doğrusal tarama yapar. Bir döngü içinde tekrarlanan üyelik kontrolleri karesel maliyete dönüşür; HashSet araması sabit zamanlıdır.
Hatalı
Bölüm başlığı “Hatalı”List<String> blocked = loadBlocked();for (String user : users) { if (blocked.contains(user)) { reject(user); }}Set<String> blocked = new HashSet<>(loadBlocked());for (String user : users) { if (blocked.contains(user)) { reject(user); }}Düzeltme
Bölüm başlığı “Düzeltme”Tekrarlanan üyelik kontrolleri için listeyi bir HashSet’e dönüştürün.