質問

I have an ArrayList<LinkedList> and I want to make one Iterator for all the LinkedLists.

What is the best way to do this?

I found this:

  'final Iterable<Integer> all =
  Iterables.unmodifiableIterable(
  Iterables.concat(first, second, third));'

But I have many LinkedLists. What can I do to combine all of them?

Thanks!

役に立ちましたか?

解決

It's not clear whether you want to do this using only standard Java classes, but if so, you can do it this way as of Java 8:

ArrayList<LinkedList<String>> strings = /* ... */;
Iterator<String> i = strings.stream().flatMap(l -> l.stream()).iterator();

他のヒント

One simple solution

    ArrayList<LinkedList<String>> l1 = ...
    List<String> l2 = new ArrayList<>();
    for(List<String> e : l1) {
        l2.addAll(e);
    }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top