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