Java / Печать узла LinkedList, содержащего массив - PullRequest
2 голосов
/ 12 февраля 2012
public static void main(String[] args) {
    LinkedList test = new LinkedList();
    int[] numberPair;
    numberPair = new int[2];
    numberPair[0] = 1; numberPair[1] = 2;

    test.add(numberPair);

}

Как мне получить доступ к массиву в первом узле этого списка и распечатать его?Я пробовал все виды приведения с помощью test.getFirst (), но либо он распечатывает адрес памяти, либо я получаю длинный список ошибок приведения объектов.

Ответы [ 3 ]

3 голосов
/ 12 февраля 2012

Попробуйте использовать Arrays.toString().

Подробнее см. javadoc .

Редактировать:

Как указывали другие ответы, вам следуеттакже используйте дженерики с вашим списком.Вы должны объявить это как LinkedList<int[]>.И затем, когда вы перебираете элементы, используйте Arrays.toString, чтобы преобразовать каждый элемент в строку и вывести результат.

1 голос
/ 12 февраля 2012

Вы должны использовать универсальный тип вместо необработанного типа.

LinkedList<int[]> test = new LinkedList<int[]>();

Когда делаете test.getFirst(), вы возвращаете массив int, так что просто итерируйте его.

int[] bla = test.getFirst();

for ( int i : bla )
    System.out.println(i);

Или используйте

Arrays.toString(test.getFirst());
1 голос
/ 12 февраля 2012

Если вы используете java 1.5+, используйте java-шаблоны, например:

LinkedList<int[]> test = new LinkedList<int[]>();
int[] top = test.getFirst();
for (int i: top){
   System.out.print(i+" ");
}
System.out.println();
...