如何使用流api从Integer数组中删除元素重复项

时间:2016-03-21 17:27:47

标签: java java-stream

我搜索了关于此的一切,但我一无所获。所以我有一个Integer数组,我想用stream api删除重复的元素,例如:

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

之后 - > buffer = Stream.of(buffer) ...

缓冲区现在有这些数字{10,23,8,10,1,2}

所以我希望你理解我的意思,感谢你帮助我。

2 个答案:

答案 0 :(得分:2)

使用Stream API:

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

答案 1 :(得分:0)

使用Set删除重复项会更简单:

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()]);