在 ArrayList 中递增 Integer 的最干净的方法是什么?
ArrayList<Integer> ints = new ArrayList<>();
ints.add(5);
ints.add(9);
增加最后一个元素的最干净的方法是什么?
ints.set(ints.size() - 1, ints.get(ints.size() - 1) + 1);
我觉得很丑。
原文由 WVrock 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 ArrayList 中递增 Integer 的最干净的方法是什么?
ArrayList<Integer> ints = new ArrayList<>();
ints.add(5);
ints.add(9);
增加最后一个元素的最干净的方法是什么?
ints.set(ints.size() - 1, ints.get(ints.size() - 1) + 1);
我觉得很丑。
原文由 WVrock 发布,翻译遵循 CC BY-SA 4.0 许可协议
您不能增加适当的值,因为 Integer
对象是不可变的。您必须在 ArrayList
中的特定位置获取先前的值,增加该值,并使用它替换同一位置的旧值。
int index = 42; // whatever index
Integer value = ints.get(index); // get value
value = value + 1; // increment value
ints.set(index, value); // replace value
或者,使用可变整数类型,例如 AtomicInteger
(或编写您自己的)。
原文由 Sotirios Delimanolis 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
也许您需要使用另一种数据结构?