【问题标题】:iterable custom linkedlist可迭代的自定义链表
【发布时间】:2016-09-12 09:56:55
【问题描述】:

我正在编写一个 LinkedList 类作为作业的一部分。 LinkedList.java:

LinkedList 类:http://pastebin.com/KyKM3hP2

我正在尝试让 foreach 与我的班级一起工作。

LinkedList<LinkedList> ListA = new LinkedList<>();
LinkedList<String> ListB = new LinkedList<>();

ListB.append("Test1");
ListB.append("Test2");
ListB.append("Test3");

ListA.append(ListB);

//this works fine
for (String i : ListB){
    //do something with i
}
//this does not
for (String i : ListA.index(0)){
    //do something with i
}

//both the above loops should interate over ListB
//but only the first one does

【问题讨论】:

  • 必须是LinkedList&lt;LinkedList&lt;String&gt;&gt;

标签: java foreach linked-list iterator iterable


【解决方案1】:

您必须将ListA 的声明更改为类似的内容

LinkedList<LinkedList<String>> ListA = new LinkedList<>();
for (String i : ListA.index(0)){
//do something with i 
}

如果你想获取ListA 中的所有字符串,那么就这样做吧。

   for (List lis : YourList){
     for(String s : lis){
      //System.out.println(s);
     }
    }

如果您的linkedList 包含LinkedListLinkedListsStrings,那么您必须使用2 个增强型for loops

如果你使用的是 java 8,你可以这样做。

       Yourlist.forEach(templist ->{
       templist.forEach(s ->{
            System.out.println(s);
        });
        });

【讨论】:

  • 这不是问题。
  • 编辑了帖子。顺便说一句,您在我发布答案后编辑了您的问题。
  • 谢谢。这实际上是我遇到的问题的解决方案。很抱歉,我之前很着急,没有仔细阅读您的答案。
猜你喜欢
  • 2017-07-25
  • 2021-02-27
  • 1970-01-01
  • 2016-07-10
  • 1970-01-01
  • 2021-06-19
  • 1970-01-01
  • 1970-01-01
  • 2018-08-23
相关资源
最近更新 更多