2016-02-13 3 views
0

Я хочу отобразить содержимое массива связанных списков. Каждый связанный список содержит массив String. Содержимое массива связанных списков отображается как [[[Ljava.lang.String;@15db9742], [[Ljava.lang.String;@6d06d69c], [[Ljava.lang.String;@7852e922]]. Как я могу это решить?Создание связанных списков строковых массивов

public class LinkedListOfStringArrays { 
    public static void main(String[] args) { 
     LinkedList<String[]> Values[] = new LinkedList[3]; 
     for (int i = 0; i < 3; i++){ 
      Values[i] = new LinkedList<String[]>(); 
     } 
     String[] first = {"first element", "ABC"}; 
     String[] second = {"second element", "DEF"}; 
     String[] third = {"third element", "GHI"}; 
     Values[0].add(first); 
     Values[1].add(second); 
     Values[2].add(third); 
     System.out.println(Arrays.toString(Values)); 
    } 
} 
+0

повторите попытку, затем используйте 'Arrays.toString', возможно, другим вариантом (предпочтительным) будет использование пользовательского класса (с соответствующим значением toString) для пары строк, а не массива –

+0

' LinkedList Ценности [] '?? Это создает массив связанных списков ... Зачем вам это нужно? –

ответ

2

Вы должны цикла по спискам и выводить их вручную:

// Loop through the Array of LinkedLists 
for(LinkedList<String[]> list : Values) { 

    // Next loop through each of the lists 
    for(String[] keyValuePair : list) { 

     // Then output the values as you see fit 
     System.out.println(keyValuePair[0] + " - " + keyValuePair[1]); 
    } 
} 

Это даст вам следующий вывод:

first element - ABC 
second element - DEF 
third element - GHI 
0

В Java-вы можете попробовать как

Stream.of(Values).              
flatMap(list -> list.stream()).         
forEach(values -> System.out.println(String.join("-",values))); 
Смежные вопросы