ArrayList < Integer > arraylist = new ArrayList < Integer > ();
arraylist.add(10010);
arraylist.add(5);
arraylist.add(4);
arraylist.add(2);
for (int i = 0; i < arraylist.size(); i++) {
for (int j = arraylist.size() - 1; j > i; j--) {
if (arraylist.get(i) > arraylist.get(j)) {
int tmp = arraylist.get(i);
arraylist.get(i) = arraylist.get(i);
arraylist.get(j) = tmp;
}
}
}
for (int i: arraylist) {
System.out.println(i);
}
交换时出错,LHS 应该是可变的。我明白了。设置方法在这里有效,但我不想使用。有没有办法不使用 set 方法来做到这一点?非常感谢您的帮助。
原文由 TNJ 发布,翻译遵循 CC BY-SA 4.0 许可协议
您不能为方法调用分配值。正如编译器告诉您的那样,赋值的左侧必须是一个变量。
使用
set
方法:否。除非您希望将 ArrayList 转换为数组,否则请对数组进行排序,并使用排序后的数组更新 ArrayList。