gpt4 book ai didi

java - 从大型未排序数组中删除重复项并保持顺序

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:01:02 25 4
gpt4 key购买 nike

我有一个未排序的整数数组,其中值的范围从 Integer.MIN_VALUE 到 Integer.MAX_VALUE。数组中的任何整数都可以有多个副本。我需要返回一个删除了所有重复项并保持元素顺序的数组。

示例:

int[] input = {7,8,7,1,9,0,9,1,2,8}

输出应该是{7,8,1,9,0,2}

我知道这个问题可以使用 LinkedHashSet 解决,但我需要一个不涉及大量缓冲区空间的解决方案。

最佳答案

您可以使用 java 8 数组 stream.distinct() 方法从数组中获取不同的值,它将仅保持输入顺序

public static void main(String[] args) {
int[] input = {7,8,7,1,9,0,9,1,2,8};
int[] output = Arrays.stream(input).distinct().toArray();
System.out.println(Arrays.toString(output)); //[7, 8, 1, 9, 0, 2]
}

关于java - 从大型未排序数组中删除重复项并保持顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52324648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com