你如何将Vector更改为ArrayList?

时间:2013-05-09 11:33:06

标签: java arrays vector arraylist

我正在使用Java开发应用程序,因为Vector已过时,我需要将其更改为使用ArrayList

这是需要更改为ArrayList的相关代码:

这是“众议院”班。

public Vector<Vector> getItems() {
    Vector<Vector> data = new Vector<Vector>();
    for (int i = 0; i < _itemList.size(); i++) {
        Vector<String> row = new Vector<String>();
        row.add(_itemList.get(i).getDecription());
        row.add(String.valueOf(_itemList.get(i).getprice()));
        data.add(row);
    }
    return data;
}

这是GUI类:

private void updateView() {

    //Gets Rows and Columns from the House.class
    Vector<Vector> rowData = _listener.getHouse().getItems();
    Vector<String> columnNames = new Vector<String>();
    columnNames.add("Product Name");
    columnNames.add("Product Price(€)");
    //Creates Shopping Cart and sets size + properties
    table1 = new JTable(rowData, columnNames);
    table1.setPreferredScrollableViewportSize(new Dimension(375, 325));
    table1.setFillsViewportHeight(true);
    //Adds ScrollPane to the container and sets the component position to center
    JScrollPane scrollPane = new JScrollPane(table1);
    centerPanel.add(scrollPane, BorderLayout.CENTER);
}

我需要完全停止使用VECTOR并使用ArrayList。有一个简单的出路吗?有关如何替换它的任何方法?

2 个答案:

答案 0 :(得分:1)

这应该适用于第一个。

public List<List<String>> getItems() {
  List<List<String>> data = new ArrayList<ArrayList<String>>();
  for (int i = 0; i < _itemList.size(); i++) {
    List<String> row = new ArrayList<String>();
    row.add(_itemList.get(i).getDecription());
    row.add(String.valueOf(_itemList.get(i).getprice()));
    data.add(row);
  }
  return data;
}

第二个是微不足道的。你可以从这样的事情开始,但我怀疑使用TableModel将是一个很好的进步。

private void updateView() {
  //Gets Rows and Columns from the House.class
  List<List<String>> rowData = _listener.getHouse().getItems();
  List<String> columnNames = new ArrayList<String>();
  columnNames.add("Product Name");
  columnNames.add("Product Price(€)");
  //Creates Shopping Cart and sets size + properties
  // **** Will not work - Probably better to use a TableModel.
  table1 = new JTable(rowData, columnNames);
  table1.setPreferredScrollableViewportSize(new Dimension(375, 325));
  table1.setFillsViewportHeight(true);
  //Adds ScrollPane to the container and sets the component position to center
  JScrollPane scrollPane = new JScrollPane(table1);
  centerPanel.add(scrollPane, BorderLayout.CENTER);
}

答案 1 :(得分:1)

Vector<String> vector = new Vector<String>();
// (... Populate vector here...)
ArrayList<String> list = new ArrayList<String>(vector);

这是来自java vector to arraylist