从ArrayList转换为Array android时,值会互换

use*_*095 1 java arrays android arraylist

我有一个ArrayList,它有一些元素.重复此列表中的项目.我想将类似的值分组并将其转换为数组.

目前我的ArrayList是: -

ArrayList<String> isonC = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)

isonC =`[a,a,a,a,b,c,c,C,c,c,c,d,d,d,d,d,d,d]的值I组合如下: -

icons = isonC.toArray(new String[isonC.size()]);
icons = new HashSet<String>(Arrays.asList(icons)).toArray(new String[0]);
Run Code Online (Sandbox Code Playgroud)

我得到的值为: - icons = [a, c, b,d]

而元素的实际顺序应为: -

[a,b, c,d]
Run Code Online (Sandbox Code Playgroud)

为什么第二和第三个值互换了?

任何建议都会有所帮助.谢谢

Poo*_*kar 5

尝试使用TreeSet而不是HashSet.尝试以下内容: -

TreeSet<String> mySet =  new TreeSet <String>(myArrayList);
myArray =  mySet.toArray(new String[mySet.size()]);
Run Code Online (Sandbox Code Playgroud)