ArrayDeque添加多个元素

时间:2013-07-12 08:51:20

标签: java add elements arraydeque

我使用arraydeque创建项目列表并传递参数(项目是类)

ArrayDeque<Item> Items= new ArrayDeque<Item>();

但我有java ArrayDeque的问题。也许有办法一次添加多个元素。 例如。我想同时将TableTypecolourOfTable添加到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)'

时出现错误

3 个答案:

答案 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;
    }
}

它类似于你需要做的事情!祝你好运:))