| 1234567891011121314151617181920212223242526272829 |
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
-
- final class Flattener {
-
- List flatten(final List nestedList) {
- if (nestedList.isEmpty()) {
- return new ArrayList<>();
- } else {
- final List result = new ArrayList();
-
- final Object head = nestedList.get(0);
- final List tail = nestedList.subList(1, nestedList.size());
-
- if (head instanceof List) {
- result.addAll(flatten((List) head));
- } else {
- result.add(head);
- }
-
- result.addAll(flatten(tail));
- result.removeAll(Collections.singleton(null));
- return result;
- }
- }
-
- }
|