Преобразование массива в ArrayList

У меня много проблем с преобразованием массива в ArrayList в Java. Это мой массив прямо сейчас:

Card[] hand = new Card[2];

«рука» держит массив «Карт». Как это будет выглядеть как ArrayList?


person Saatana    schedule 21.03.2012    source источник
comment
Вы читали какую-либо справочную информацию, например docs.oracle.com/javase/tutorial/collections?   -  person Oliver Charlesworth    schedule 21.03.2012


Ответы (3)


В качестве ArrayList эта строка будет

import java.util.ArrayList;
...
ArrayList<Card> hand = new ArrayList<Card>();

Чтобы использовать ArrayList, у вас есть

hand.get(i); //gets the element at position i 
hand.add(obj); //adds the obj to the end of the list
hand.remove(i); //removes the element at position i
hand.add(i, obj); //adds the obj at the specified index
hand.set(i, obj); //overwrites the object at i with the new obj

Также прочтите http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html

person twain249    schedule 21.03.2012
comment
Спасибо! Последний быстрый вопрос ... как я могу принять Arraylist в метод? Прямо сейчас у меня есть: public void getHandValue (ArrayList ‹Card› hand) {...} Arrayylist находится в моих основных аргументах. Просто слово ArrayList появляется как ошибка. - person Saatana; 21.03.2012
comment
у вас должна быть подпись метода void getHandValue(ArrayList<Card> hand) проблема более чем вероятна, когда вы вызываете этот метод. - person twain249; 22.03.2012

Это даст вам список.

List<Card> cardsList = Arrays.asList(hand);

Если вам нужен Arraylist, вы можете сделать

ArrayList<Card> cardsList = new ArrayList<Card>(Arrays.asList(hand));
person Kal    schedule 21.03.2012
comment
Неа! Это дает объект, который действует как List оболочка для нижележащего объекта. В отличие от реального ArrayList, результирующий List не может быть изменен, и попытки .add элементов до его конца приведут к UnsupportedOperationException. - person Adam Norberg; 21.03.2012

объявление списка (и инициализация его пустым arrayylist)

List<Card> cardList = new ArrayList<Card>();

добавление элемента:

Card card;
cardList.add(card);

итерация по элементам:

for(Card card : cardList){
    System.out.println(card);
}
person bpgergo    schedule 21.03.2012