首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ArrayDeque添加多个元素

ArrayDeque添加多个元素
EN

Stack Overflow用户
提问于 2013-07-12 16:51:20
回答 3查看 2.7K关注 0票数 6

我正在使用arraydeque创建项目列表并向它们传递参数(项目是类)

代码语言:javascript
复制
ArrayDeque<Item> Items= new ArrayDeque<Item>();

但我对java ArrayDeque有问题。也许有方法可以一次添加多个元素。例如。我想同时将TableTypecolourOfTable添加到ArrayDeque中。

在c++中,我可以使用下面的代码

代码语言:javascript
复制
vector<Item>Items

Items.push_back(Item("CoffeeTable", "brown"));

我想用Java做同样的事情。而不是为每个项目创建一个新的obj,如下所示:

代码语言:javascript
复制
ArrayDeque<Item> Items = new ArrayDeque<Item>();

Item obj = new Item("CoffeTable", "brown"); 
Items.add(obj);

Item obj1 = new Item("DinnerTable", "Black"); 
Items.add(obj1);

但是,我想用一行代码(就像c++中的例子一样)将"CoffeTable", "brown"添加到Items数组中,而不是obj

我试过这样的东西

代码语言:javascript
复制
ArrayDeque<Item> Items= new ArrayDeque<Item>();

Items.add(Items("CoffeTable", "brown")); 

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-12 16:53:40

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

代码语言:javascript
复制
items.add(new Item("CoffeTable", "brown"));

所以你不需要显式的变量。

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

票数 3
EN

Stack Overflow用户

发布于 2013-07-12 16:55:09

你必须创建一个新的对象来保存这两个值。您可以这样做:

代码语言:javascript
复制
Items.add(new Item("CoffeTable", "brown"));

你想出的任何其他东西都将是上面的语法糖

例如:您可以将static方法添加到您的类:

代码语言:javascript
复制
public static Item item(String k1, String k2) { 
    return new Item(k1, k2);
}

并在以后使用:

代码语言:javascript
复制
Items.add(item("CoffeTable", "Brown"));
票数 2
EN

Stack Overflow用户

发布于 2013-07-12 17:22:18

这里有一个肯定有效的解决方案。可以将函数添加到类itemAdd()中,如下所示:

代码语言:javascript
复制
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;
    }
}

这和你需要做的事情很相似!祝你好运:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17611016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档