Zum Inhalt springen

Inefficient membership test (ARCH4075)

Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.

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.