在Java中,如何在Vector中交换两个值?

问题描述 投票:1回答:1
import java.util.Scanner;
import java.util.Vector;
import java.util.Collections;

public class Bank implements BubbleSort{
 private Vector<Account> accounts;

 public Bank() {
  accounts = new Vector<Account>();
 }
 public void makeAccount() {
  Scanner in = new Scanner(System.in);
  int amount;
  while(true) {
   System.out.println("Input");
   amount = in.nextInt();
   if(amount<0)
    break;
   accounts.add(new Account(amount));

  }
 }
 public void printAccount() {
  for (int i=0;i<accounts.size();i++) {
   System.out.println(accounts.get(i).get());
  }

 }
 @Override
    public void start() {
        // TODO Auto-generated method stub
        for (int i = 0; i < accounts.size() - 1; i++) {
            for (int j = 0; j < accounts.size() - 1 - i; j++)
                if (isGreater(j, j + 1))
                    swap(j, j + 1);
        }
    }
    @Override
    public void swap(int a, int b) {
        // TODO Auto-generated method stub


        Account temp = accounts.get(a);
        accounts.get(a) = accounts.get(b); //error
        accounts.get(b) = temp; //error
    }

    @Override
    public boolean isGreater(int a, int b) {


        // TODO Auto-generated method stub


        return accounts.get(a).get() > accounts.get(b).get();
    }
}

在交换代码中,“分配的左侧必须是变量”发生错误。如何修复该代码?在执行任务时,我不能使用收集包。我在google或stackoverflow中发现了很多代码,但尚未解决。

java vector swap
1个回答
0
投票

要更改Vector中特定索引处的值,必须使用set()。这是显示交换两个值时如何使用它的示例。

set()
© www.soinside.com 2019 - 2024. All rights reserved.