变量期望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
返回的右值。您知道我应该怎么做吗@ElliottFrischAt
maxHeap.get(j)=温度
fragment
maxHeap.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++;
}