1
我正在尝试在ArrayList中搜索“装箱”整数,并将最低值放入列表的前面。但是,当有新的分钟时,它似乎并没有把它放在前面。例如,如果名为list的变量存储以下值:{3,8,92,4,2,17,9},并且您进行此调用:minToFront(list);它应该在调用后存储以下值:{2,3,8,92,4,17,9}假定列表至少存储一个值。ArrayList出现问题
private static void minToFront(ArrayList<Integer> thing) {
int tempMin = Integer.MAX_VALUE;
for (int i = 0; i < thing.size(); i++) {
if (tempMin < thing.get(i)) {
thing.add(0,thing.get(i));
thing.remove(i+1);
i++;
}
}
}
为什么在thing.add()里面有thing.remove(minLoc)?我不太明白。 –
请参阅http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#remove(int) - remove()返回刚删除的值,然后传递给add() 。 –