【问题标题】:Create linked lists of string arrays创建字符串数组的链表
【发布时间】:2016-02-13 19:31:59
【问题描述】:

我想显示一个链表数组的内容。每个链表都包含一个字符串数组。链表数组的内容显示为[[[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));
    }
}

【问题讨论】:

  • 迭代,然后使用 Arrays.toString
  • LinkedList&lt;String[]&gt; Values[] ??这会创建一个链表数组...你为什么要这个?

标签: java arrays string linked-list display


【解决方案1】:

您必须遍历列表并手动输出:

// 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

【讨论】:

    【解决方案2】:

    在 Java 8 中你可以尝试

    Stream.of(Values).                                                     
    flatMap(list -> list.stream()).                                
    forEach(values -> System.out.println(String.join("-",values)));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      • 2011-08-20
      • 1970-01-01
      • 2019-07-07
      • 2017-07-30
      • 1970-01-01
      相关资源
      最近更新 更多