有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

变量期望java向量

我正在编写代码来交换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只是另一个类,它是vector的每个节点,maxHeap是我的vector


共 (2) 个答案

  1. # 1 楼答案

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

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

    不能将函数调用的结果分配给右值;相反,您使用类似^{}

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