Pregunta

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!

¿Fue útil?

Solución

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

Otros consejos

One simple solution

    ArrayList<LinkedList<String>> l1 = ...
    List<String> l2 = new ArrayList<>();
    for(List<String> e : l1) {
        l2.addAll(e);
    }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top