yfabio
yfabio

Reputation: 141

how do I remove elements duplicates from Integer array with stream api

I searched everything about this but I found nothing. So I have an Integer array and I would like to remove elements duplicated on it with stream api, for example:

Integer[] buffer = new Integer[]{10,23,8,10,8,1,2,1};

after this -> buffer = Stream.of(buffer)...

buffer now has these numbers {10,23,8,10,1,2}

So I hope you understand what I mean and I thank you for helping me.

Upvotes: 3

Views: 160

Answers (2)

Alexis C.
Alexis C.

Reputation: 93842

Using the Stream API:

Integer[] buffer = {10,23,8,10,8,1,2,1};
buffer = Stream.of(buffer).distinct().toArray(Integer[]::new);

Upvotes: 2

Mureinik
Mureinik

Reputation: 311348

It would be much simpler to just use a Set to remove duplicates:

Integer[] buffer = new Integer[]{10,23,8,10,8,1,2,1};
Set<Integer> set = new HashSet<>(Arrays.asList(buffer));
buffer = set.toArray(new Integer[set.size()]);

Upvotes: 0

Related Questions