变量期望java向量
我正在编写代码来交换变量期望java向量,java,vector,swap,Java,Vector,Swap,我正在编写代码来交换java.util.Vector中的两个元素。 但我在这一行发现了一个错误: public void swap(int i, int j) { Order temp = maxHeap.get(i); maxHeap.elementAt(i) = maxHeap.get(j); // variable expected maxHeap.get(j) = temp; // variable expected swapCounter++; }
java.util.Vector
中的两个元素。
但我在这一行发现了一个错误:
public void swap(int i, int j) {
Order temp = maxHeap.get(i);
maxHeap.elementAt(i) = maxHeap.get(j); // variable expected
maxHeap.get(j) = temp; // variable expected
swapCounter++;
}
那么,我应该如何改变向量节点的元素呢?
顺便说一句,Order只是另一个类,它是
向量的每个节点和maxHeap
是我的向量你不能给方法的结果赋值。相反,您可以使用列表
界面指定的方法:
public void swap(int i, int j) {
Order temp = maxHeap.get(i);
maxHeap.set(i, maxHeap.get(j);
maxHeap.set(j, temp);
swapCounter++;
}
不能将函数调用的结果分配给右值;相反,你使用like
您无法将maxHeap.get
的结果分配给maxHeap.elementAt
返回的右值。您知道我应该怎么做吗@ElliottFrischAtmaxHeap.get(j)=温度
fragmentmaxHeap.get(j)
不返回变量,但返回值,并且您不能将值赋给值,这就像试图赋值2=0
,这毫无意义。关于maxsheap.elementAt(i)=maxsheap.get(j)也是一样的代码>。您需要在指定位置设置新值。
public void swap(int i, int j) {
Order temp = maxHeap.get(i);
maxHeap.setElementAt(maxHeap.get(j), i);
maxHeap.setElementAt(temp, j);
swapCounter++;
}