【发布时间】:2017-12-10 17:41:17
【问题描述】:
我正在编写用于交换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++;
}
那么,我应该如何更改矢量节点的元素?
BTW Order 只是另一个类,它是vector 的每个节点,maxHeap 是我的vector。
【问题讨论】:
-
不能将
maxHeap.get的结果赋给maxHeap.elementAt返回的右值。 -
你知道我应该怎么做吗? @ElliottFrisch
-
在
maxHeap.get(j) = temp;片段maxHeap.get(j)不返回变量,而是返回值并且你不能将值分配给值,这就像试图分配2 = 0,这是没有意义的。maxHeap.elementAt(i) = maxHeap.get(j);也一样。您需要在指定位置set新值。