Question

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!

Était-ce utile?

La solution

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();

Autres conseils

One simple solution

    ArrayList<LinkedList<String>> l1 = ...
    List<String> l2 = new ArrayList<>();
    for(List<String> e : l1) {
        l2.addAll(e);
    }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top