一系列独特的元素?

Anc*_*end 11 java arrays unique

给定一个如下所示的数组,我想知道是否有一种简单的方法可以将此数组转换为仅具有唯一值的数组?

这是给出的:

   numbers={5,5,4,3,1,4,5,4,5} 
Run Code Online (Sandbox Code Playgroud)

把它变成这样的结果数组,保留原始顺序:

   {5,1,2,3,4} 
Run Code Online (Sandbox Code Playgroud)

zib*_*ibi 26

在Java 8中,用于IntStream获取数组的唯一元素

int[] noDuplicates = IntStream.of(array).distinct().toArray();
Run Code Online (Sandbox Code Playgroud)

最简单的方法是从数组创建set.

Integer[] array = ...
Set<Integer> set = new LinkedHashSet<Integer>(Arrays.asList(array ));
Run Code Online (Sandbox Code Playgroud)

然后你可以使用以下方法检索数组:

set.toArray()
Run Code Online (Sandbox Code Playgroud)

如果要维护订单,请使用LinkedHashSet,如果要对其进行排序,请使用TreeSet.