Ir al contenido

Inefficient membership test (ARCH4075)

Esta página aún no está disponible en tu idioma.

Key java.performance.inefficient-membership-test · Severity warning · Category performance

List.contains scans linearly on every call. Repeated membership checks inside a loop become quadratic, whereas a HashSet lookup is constant time.

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);
}
}

Convert the list to a HashSet for repeated membership checks.