Sobes.tech
Junior — Middle

Ako extrahovať iba jedinečné objekty zo streamu dát v API Stream?

sobes.tech AI

Odpoveď od AI

V API Stream v Jave sa spôsobom na extrakciu unikátnych objektov zo streamu je distinct(). Vracia nový stream, v ktorom sú odstránené duplikáty na základe metód equals() a hashCode() objektov.

Príklad:

List<String> list = Arrays.asList("jablko", "banán", "jablko", "pomaranč");
List<String> uniqueList = list.stream()
    .distinct()
    .collect(Collectors.toList());

System.out.println(uniqueList); // [jablko, banán, pomaranč]

Ak sú objekty zložitejšie a je potrebná unikátnosť podľa určitého poľa, možno použiť Collectors.toMap alebo filter s pomocnými štruktúrami, ale pre jednoduché prípady je distinct() najjednoduchší spôsob.