2013-07-12 10 views
6

Im arraydeque mit Liste der Elemente erstellen und diese Parameter übergeben (Artikel ist Klasse)ArrayDeque fügen Sie mehrere Elemente

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

Aber ich habe Probleme mit Java ArrayDeque. Vielleicht gibt es Möglichkeiten, mehr als ein Element gleichzeitig hinzuzufügen. Zum Beispiel. Ich möchte zur gleichen Zeit hinzufügen TableType und colourOfTable in ArrayDeque.

in C++ Ich hätte es mit diesem

getan
vector<Item>Items 

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

ich die gleiche Sache mit Java tun wollen. Anstatt ein neues obj für jedes Element zu schaffen, wie:

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

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

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

Aber statt obj mag ich "CoffeTable", "brown" zugleich hinzuzufügen und mit einer Codezeile (wie in C++ Beispiel) in die Items Array.

Ich habe versucht, etwas wie die

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

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

Aber dann bekam den Fehler beim Erstellen create-Methode 'Artikel (String, String)'

+1

+1 für die bessere Erklärung, obwohl erste Frage. –

+0

Sie können die ArrayDeque-Klasse erweitern und eigene Methoden zum Hinzufügen neuer Elemente implementieren. –

Antwort

2

Sie können einfach das neue Element in dem Aufruf von Add erstellen:

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

Sie brauchen also keine explizite Variable.

Beachten Sie auch, dass in Java Variablennamen normalerweise mit einem Kleinbuchstaben beginnen.

+0

Ich bin neu bei der Programmierung, also mache ich ein paar Fehler ^^ –

+0

Und danke für deine Antwort auch. –

+2

@ MartynasŽukovas gibt es kein Problem mit der Programmierung neu zu sein. Wir haben alle irgendwann angefangen. Solange du höflich bist, wirst du viele nützliche Antworten bekommen, sogar zu Themen, die nicht erwartet werden ... –

2

Sie müssen ein neues Objekt trotzdem erstellen, um diese 2 Werte zu speichern. Sie können dies tun:

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

Alles was Sie sonst kommen mit wird syntaktischer Zucker für die oben

Zum Beispiel sein: Sie haben eine static Methode Ihrer Klasse hinzufügen:

public static Item item(String k1, String k2) { 
    return new Item(k1, k2); 
} 

Und verwenden Sie es später:

Items.add(item("CoffeTable", "Brown")); 
+0

Danke, jetzt bin ich gekommen, was ich wollte ^^ –

1

Hier ist eine Lösung, die wou Ich werde sicherlich arbeiten. Sie können eine Funktion, um Ihre Klasse ItemAdd() wie folgt hinzufügen:

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

Sein ähnlich dem, was u tun müssen !! Viel Glück :)

Verwandte Themen