我的Android应用程序中有两个包含6个元素的ArrayList。我们称它们为ArrayList“A”和“B”。我班级中的每个对象在构造函数中都有这一行:
likes = new ArrayList<Integer>();
我也可以在构造函数中添加这一行(我不确定哪一行更好,但我想将大小初始化为6,所有元素都应为0):
likes = new ArrayList<>(Collections.nCopies(6, 0));
我的类中有一个名为Calculate的方法,它应该采用与A大小相同的整数B的新ArrayList作为参数。然后使用此对象的ArrayList,A。
添加/总和B.以下是方法:
public void Calculate(ArrayList<Integer> likes){
for(int i = 0; i < likes.size(); i++){
this.likes.get(i) += likes.get(i);
//this.likes.get(i) = 3;
}
}
我在 this.likes.get(i)行下面有一条红线,说:
预期变量
即使我试着说 this.likes.get(i)= 3; 我也会遇到同样的错误。
假设A = {0,0,0,0,0,0},B = {1,0,0,-1,1,0}
对ArrayList求和的正确方法是什么,使A = {1,0,0,-1,1,0}?
答案 0 :(得分:3)
您无法为this.likes.get(i)
等值指定值。
您只能为变量赋值。
要修改i
的{{1}}元素,您应该使用ArrayList
的{{1}}方法:
ArrayList
答案 1 :(得分:2)
你需要使用set(index,value)因为左侧没有容器来保存值因此错误,所以你可以将结果值传递给list以将其设置在所需的位置
set
答案 2 :(得分:1)
您正在尝试为方法指定值,请尝试以下方法:
int oldLikesCount = this.likes.get(i);
this.likes.set(i,oldLikesCount +likes.get(i));
答案 3 :(得分:0)