RosettaCodeData/Task/Flatten-a-list/Java/flatten-a-list-3.java

18 lines
435 B
Java

import java.util.List;
import java.util.stream.Stream;
import java.util.stream.Collectors;
public final class FlattenUtil {
public static Stream<Object> flattenToStream(List<?> list) {
return list.stream().flatMap(item ->
item instanceof List<?> ?
flattenToStream((List<?>)item) :
Stream.of(item));
}
public static List<Object> flatten(List<?> list) {
return flattenToStream(list).collect(Collectors.toList());
}
}