Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将Vector更改为ArrayList?_Java_Arrays_Vector_Arraylist - Fatal编程技术网

Java 如何将Vector更改为ArrayList?

Java 如何将Vector更改为ArrayList?,java,arrays,vector,arraylist,Java,Arrays,Vector,Arraylist,我正在用Java开发一个应用程序,由于Vector已经过时,我需要将其更改为使用ArrayList 这是需要更改为ArrayList的相关代码: 这是“豪斯”班 公共向量getItems(){ 向量数据=新向量(); 对于(int i=0;i

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

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

这是“豪斯”班

公共向量getItems(){ 向量数据=新向量(); 对于(int i=0;i<_itemList.size();i++){ 向量行=新向量(); 添加(_itemList.get(i).getDecription()); 添加(String.valueOf(_itemList.get(i).getprice()); 添加数据(行); } 返回数据; } 这是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);
}
private void updateView(){
//从House.class获取行和列
Vector rowData=_listener.getHouse().getItems();
向量列名称=新向量();
列名称。添加(“产品名称”);
columnNames.添加(“产品价格(€)”;
//创建购物车并设置大小+属性
表1=新的JTable(行数据、列名称);
表1.setPreferredScrollableViewportSize(新维度(375325));
表1.SetFillsViewPerThight(真);
//将滚动窗格添加到容器中,并将组件位置设置为中心
JScrollPane scrollPane=新的JScrollPane(表1);
添加(滚动窗格,BorderLayout.CENTER);
}

我需要完全停止使用VECTOR,而是使用ArrayList。有没有简单的办法?有什么方法可以替换这个吗?

第一个就可以了

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;
}
Vector向量=新向量();
//(…在此填充向量…)
ArrayList=新的ArrayList(矢量);

这是从这里开始的

这里的问题是什么?只需使用arraylist删除所有向量。假设你不关心同步。
ctrl+f
然后
find/replace
:-)我知道你的问题,但是你尝试了什么?首先尝试一下,如果你有任何错误,那么可能会有问题。勇敢地去做吧除非绝对需要,否则不应将变量声明为
ArrayList
类型。从OP的帖子中,我看到他正在使用
列表中声明的方法。所以
list
的类型应该是
list
,而不是
ArrayList
。请参阅我对Stanley答案的评论。@SayemAhmed-我同意-
ArrayList
适当地更改为
list
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;
}
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);
}
Vector<String> vector = new Vector<String>();
// (... Populate vector here...)
ArrayList<String> list = new ArrayList<String>(vector);