如何将字符串数组转换为唯一值数组?

dja*_*fan 5 java arrays

在Java中,如何将字符串数组转换为唯一值数组?

如果我有这个字符串数组:

String[] test = {"1","1","1","2"}
Run Code Online (Sandbox Code Playgroud)

我想最终得到:

String[] uq = {"1","2"}
Run Code Online (Sandbox Code Playgroud)

Chs*_*y76 14

快速但有些低效的方式是:

Set<String> temp = new HashSet<String>(Arrays.asList(test));
String[] uq = temp.toArray(new String[temp.size()]);
Run Code Online (Sandbox Code Playgroud)


Tai*_*aig 5

如果您使用HashSet- 方法(这看起来很方便),如果您想保持数组的顺序,则应该使用 aLinkedHashSet而不是 a !HashSet

Set<String> temp = new LinkedHashSet<String>( Arrays.asList( array ) );
String[] result = temp.toArray( new String[temp.size()] );
Run Code Online (Sandbox Code Playgroud)