我希望能够减少ArrayList中的值来模拟从堆中删除的对象。但是我无法使用ArrayList(String)
执行此操作以下示例是我尝试过的。
ItemArray.get(pressedItem + 1) = (ItemArray.get(pressedItem + 1)) - 1
有没有办法将ArrayList中的值转换为更易操作的状态?
编辑:
要指出我的ArrayList目前是ArrayList(String)
答案 0 :(得分:3)
您需要使用List#set()
来改变列表。
List<Integer> items = new ArrayList<Integer>();
// later...
int position = pressedItem + 1;
items.set(position, items.get(position) - 1);
答案 1 :(得分:2)
ArrayList
是一个班级。假设ItemArray
是该类的一个实例(请使用小写字母btw启动变量),您需要通过方法调用来使用它。在您的情况下,set
。像这样:
itemArray.set(pressedItem + 1, itemArray.get(pressedItem + 1) - 1)
请注意,如果您将ArrayList
声明为包含整数或其他数字类型,则上述操作将完全相同,因此Java可以为您执行转换操作:
List<Integer> itemArray = new ArrayList<Integer>();