2013-07-12 3 views
6

Im используя arraydeque создать список элементов и передать их параметры (элементы Классно)ArrayDeque добавить несколько элементов

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

Но у меня есть проблемы с Java ArrayDeque. Возможно, есть способы добавить сразу несколько элементов. Например, . Я хочу добавить в то же время TableType и colourOfTable в 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 массив.

Я пытался что-то вроде этого

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

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

Но получил ошибку при создании создать метод «Items (String, String)»

+1

+1 для лучшего объяснения, хотя первый вопрос. –

+0

Вы можете расширить класс ArrayDeque и реализовать свои собственные методы для добавления новых элементов. –

ответ

2

Вы можете просто создать новый пункт в вызове оных:

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

Значит, вам не нужна явная переменная.

Также обратите внимание, что имена переменных Java обычно начинаются с символа нижнего регистра.

+0

Im новый при программировании, поэтому я делаю некоторые ошибки ^^ –

+0

И спасибо за ответ. –

+2

@ MartynasŽukovas нет проблем с тем, чтобы быть новым для программирования. Мы все начали в свое время. Пока вы вежливы, вы получите много полезных ответов даже по тем, которые не ожидаются ... –

2

Вам нужно будет создать новый объект, чтобы сохранить эти 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

Вот решение, которое woul d уверенно работа. Вы можете добавить функцию к классу 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; 
    } 
} 

Его подобно тому, что и нужно сделать !! Удачи :)

 Смежные вопросы

  • Нет связанных вопросов^_^