سؤال

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