Sobes.tech
Junior — Middle

Stream API-ში არსებული distinct მეთოდის მიზანია რა და როგორ განსხვავდება სხვა ფილტრის მეთოდებისგან?

sobes.tech AI

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

Stream API-յի distinct() մեթոդը օգտագործվում է տարրերի հոսքից կրկնօրինակները հեռացնելու համար: Այն վերադարձնում է նոր հոսք, որտեղ յուրաքանչյուր տարր եզակի է, հիմնվելով օբյեկտների equals() և hashCode() մեթոդների վրա:

Ի տարբերություն այլ ֆիլտրացման մեթոդների, ինչպիսիք են filter(), distinct() ավտոմատ կերպով հեռացնում է կրկնվող տարրերը, մինչդեռ filter() թույլ է տալիս սահմանել ցանկացած պայման տարրերի ընտրության համար:

Օրինակ՝

List<Integer> numbers = Arrays.asList(1, 2, 2, 3, 4, 4, 5);
List<Integer> distinctNumbers = numbers.stream()
    .distinct()
    .collect(Collectors.toList());
// distinctNumbers կպարունակի [1, 2, 3, 4, 5]