【发布时间】:2014-07-16 07:27:19
【问题描述】:
我有一个包含一些元素的 ArrayList。此列表中的项目是重复的。我想将相似的值分组并将其转换为数组。
目前我的 ArrayList 是:-
ArrayList<String> isonC = new ArrayList<String>();
isoC 的值 = `[a, a, a, a, b, c, c,C, c, c, c, d, d, d, d, d, d,d] 我把so分组:-
icons = isonC.toArray(new String[isonC.size()]);
icons = new HashSet<String>(Arrays.asList(icons)).toArray(new String[0]);
我得到的值是:-
图标 = [a, c, b,d]
而元素的实际顺序应该是:-
[a,b, c,d]
为什么第二个和第三个值互换了?
任何建议都会有所帮助。 谢谢
【问题讨论】:
-
删除重复元素后重新排序项目(按字典顺序)是否足够?
-
@JaeHeonLee 不是真的.. 我有给定的颜色数组,其顺序需要是这样的
-
您使用的是
HashSet,HashSet不保持顺序,文档说 “它不保证集合的迭代顺序;特别是,它确实不保证订单会随着时间的推移保持不变” (docs.oracle.com/javase/7/docs/api/java/util/HashSet.html)
标签: java android arrays arraylist