变量预期 java 向量

Variable expected java vector

我正在编写用于交换 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++;
}

那么,我应该如何更改矢量节点的元素? 顺便说一句,订单只是另一个 class,它是 vector 的每个节点,maxHeap 是我的 vector.

您不能为方法的结果分配新值。相反,您可以使用 List 接口指定的 set 方法:

public void swap(int i, int j) {
    Order temp = maxHeap.get(i);
    maxHeap.set(i, maxHeap.get(j);
    maxHeap.set(j, temp);
    swapCounter++;
}

您不能将函数调用的结果分配给右值;相反,你使用 Vector.setElementAt(E, int) like

public void swap(int i, int j) {
    Order temp = maxHeap.get(i);
    maxHeap.setElementAt(maxHeap.get(j), i);
    maxHeap.setElementAt(temp, j);
    swapCounter++;
}