Sobes.tech
Junior — Middle

როგორ გამოვიღოთ მხოლოდ უნიკალური ობიექტები მონაცემთა ნაკადიდან Stream API-ში?

sobes.tech AI

პასუხი AI-სგან

Java Stream API-да, ағымдан уникалдуу объекттерди алуу үчүн distinct() методу колдонулат. Ал объекттердин equals() жана hashCode() методдоруна негизделген дублдорду жоготуп, жаңы агымды кайтарат.

Мисал:

List<String> list = Arrays.asList("алма", "банан", "алма", "апельсин");
List<String> uniqueList = list.stream()
    .distinct()
    .collect(Collectors.toList());

System.out.println(uniqueList); // [алма, банан, апельсин]

Эгер объекттер кыйынчылык болсо жана белгилүү бир талаага ылайык уникалдуулук керек болсо, Collectors.toMap же filter жардамчы структуралар менен колдонсо болот, бирок жөнөкөй учурларда distinct() эң оңой жол.