Here you can find the source of flatten(Collection> nestedList)
public static <T> List<T> flatten(Collection<List<T>> nestedList)
//package com.java2s; import java.util.ArrayList; import java.util.Collection; import java.util.List; public class Main { /**/*from w w w . jav a2s . c om*/ * combines all the lists in a collection to a single list */ public static <T> List<T> flatten(Collection<List<T>> nestedList) { List<T> result = new ArrayList<T>(); for (List<T> list : nestedList) { result.addAll(list); } return result; } /** * Add all the items from an iterable to a collection. * * @param <T> * The type of items in the iterable and the collection * @param collection * The collection to which the items should be added. * @param items * The items to add to the collection. */ public static <T> void addAll(Collection<T> collection, Iterable<? extends T> items) { for (T item : items) { collection.add(item); } } }