【问题标题】:ArrayDeque add multiple elementsArrayDeque 添加多个元素
【发布时间】:2013-07-10 18:23:09
【问题描述】:

我使用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")); 

但随后在创建创建方法 'Items(String,String)' 时出错

【问题讨论】:

  • +1 以获得更好的解释,虽然是第一个问题。
  • 您可以扩展 ArrayDeque 类并实现自己的方法来添加新元素。

标签: java add elements arraydeque


【解决方案1】:

无论如何,您都必须创建一个新对象来保存这两个值。 你可以这样做:

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】:

这是一个肯定会奏效的解决方案。您可以向您的类 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;
    }
}

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

【讨论】:

    【解决方案3】:

    您可以在 add 的调用中简单地创建新项目:

    items.add(new Item("CoffeTable", "brown"));
    

    所以你不需要显式变量。

    另请注意,在 Java 中,变量名通常以小写字符开头。

    【讨论】:

    • 我是编程新手,所以我犯了一些错误^^
    • @MartynasŽukovas 不熟悉编程是没有问题的。我们都是从某个时间开始的。只要你有礼貌,即使是在意想不到的话题上,你也会得到很多有用的答案......
    猜你喜欢
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    相关资源
    最近更新 更多