我使用arraydeque
创建项目列表并传递参数(项目是类)
ArrayDeque<Item> Items= new ArrayDeque<Item>();
但我有java ArrayDeque的问题。也许有办法一次添加多个元素。
例如。我想同时将TableType
和colourOfTable
添加到ArrayDeque。
在c ++中我可以用这个
完成它vector<Item>Items
Items.push_back(Item("CoffeeTable", "brown"));
我想用Java做同样的事情。而不是为每个项目创建一个新的obj,如:
ArrayDeque<Item> Items = new ArrayDeque<Item>();
Item obj = new Item("CoffeTable", "brown");
Items.add(obj);
Item obj1 = new Item("DinnerTable", "Black");
Items.add(obj1);
但是我想要obj
而不是"CoffeTable", "brown"
同时添加Items
并将一个代码行(如c ++示例中)添加到ArrayDeque<Item> Items= new ArrayDeque<Item>();
Items.add(Items("CoffeTable", "brown"));
数组中。
我尝试了类似的东西
{{1}}
但是在创建create方法'Items(String,String)'
时出现错误答案 0 :(得分:2)
您可以在add:
的调用中简单地创建新项目items.add(new Item("CoffeTable", "brown"));
所以你不需要一个显式变量。
另请注意,在Java变量名称中通常以小写字符开头。
答案 1 :(得分:2)
无论如何,您必须创建一个新对象来保存这两个值。 你可以这样做:
Items.add(new Item("CoffeTable", "brown"));
你提出的任何其他内容都将是上述
的语法糖例如:您可以在班级中添加static
方法:
public static Item item(String k1, String k2) {
return new Item(k1, k2);
}
稍后再使用:
Items.add(item("CoffeTable", "Brown"));
答案 2 :(得分:1)
这是一个肯定会起作用的解决方案。您可以按类别向itemAdd()类添加一个函数:
class Samp {
public static void main(String args[]){
//code.....
ArrayDeque<Item> Items= new ArrayDeque<Item>();
Items.add(itemAdd("CoffeeTable", "brown"));
//rest of code....
}
public static Item itemAdd(String tableType,String colourOfTable){
return new Item(tableType,colourOfTable);
}
}
class Item{
String tableType;
String colourOfTable;
Item(String tableType,String colourOfTable ){
this.tableType=tableType;
this.colourOfTable=colourOfTable;
}
}
它类似于你需要做的事情!祝你好运:))