2013-07-12 138 views
6

即時通訊使用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我想在同一時間和同一個代碼行(像在C++爲例)添加"CoffeTable", "brown"Items陣列。

我想類似的東西

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

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

但隨後得到了錯誤,同時創建創建方法「項目(字符串,字符串)」

+1

+1爲更好的解釋,雖然第一個問題。 –

+0

您可以擴展ArrayDeque類並實現您自己的添加新元素的方法。 –

回答

2

您可以簡單的創建附加的號召新項目:

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

所以你不需要一個顯式變量。

另請注意,在Java中,變量名通常以小寫字符開頭。

+0

即時通訊新編程,所以即時通訊做一些錯誤^^ –

+0

並謝謝你的回答。 –

+2

@MartynasŽukovas新手編程沒有問題。我們都是在某個時候開始的。只要你彬彬有禮,你甚至可以得到很多有用的答案,即使不是預期的主題... –

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")); 
+0

謝謝,現在我得到了我想要的東西^^ –

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

它與你需要做的相似!祝你好運:)