WVr*_*ock 6 java integer arraylist
在ArrayList中增加Integer的最简洁方法是什么?
ArrayList<Integer> ints = new ArrayList<>();
ints.add(5);
ints.add(9);
Run Code Online (Sandbox Code Playgroud)
增加最后一个元素的最简洁方法是什么?
ints.set(ints.size() - 1, ints.get(ints.size() - 1) + 1); 对我来说似乎很难看.
Sot*_*lis 14
由于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
Run Code Online (Sandbox Code Playgroud)
或者,使用可变整数类型,如AtomicInteger(或编写自己的).
也许你需要使用另一种数据结构?
LinkedList<AtomicInteger> list = new LinkedList<AtomicInteger>();
ints.add(new AtomicInteger(5));
ints.add(new AtomicInteger(9));
list.getLast().incrementAndGet();
Run Code Online (Sandbox Code Playgroud)