在下面的代码中,如果参数是{1,3,2},在while循环中,i是1,3,2。
我已经在使用LinkedHashSet,为什么顺序不是1、2、3?我还需要做什么才能使迭代按升序排列?
不能TreeSet
在add, remove, contains()
o(log n) 时间内使用。
public static void iterate(int[] num) {
LinkedHashSet<Integer> set = new LinkedHashSet<Integer>();
for (int i : num) {
set.add(i);
}
Iterator<Integer> iter = set.iterator();
while (iter.hasNext()) {
// WHY IS i THE SAME ORDER AS INSERATION ORDER, NOT ASSENDING ORDER?
int i = iter.next();
}
}