Junior — Middle
Jak wyodrębnić tylko unikalne obiekty z przepływu danych w API Stream?
sobes.tech AI
Odpowiedź od AI
W API Stream Java, do wyodrębniania unikalnych obiektów z strumienia używa się metody distinct(). Zwraca ona nowy strumień, w którym usunięto duplikaty na podstawie metod equals() i hashCode() obiektów.
Przykład:
List<String> list = Arrays.asList("jabłko", "banan", "jabłko", "pomarańcza");
List<String> uniqueList = list.stream()
.distinct()
.collect(Collectors.toList());
System.out.println(uniqueList); // [jabłko, banan, pomarańcza]
Jeśli obiekty są złożone i potrzebna jest unikalność po określonym polu, można użyć Collectors.toMap lub filter z pomocą struktur pomocniczych, ale dla prostych przypadków distinct() jest najprostszym sposobem.