This commit is contained in:
Ingy döt Net 2013-04-10 21:29:02 -07:00
parent 764da6cbbb
commit db842d013d
19005 changed files with 197040 additions and 7 deletions

View file

@ -0,0 +1,22 @@
import java.util.LinkedList;
import java.util.List;
public final class FlattenUtil {
public static List<Object> flatten(List<?> list) {
List<Object> retVal = new LinkedList<Object>();
flatten(list, retVal);
return retVal;
}
public static void flatten(List<?> fromTreeList, List<Object> toFlatList) {
for (Object item : fromTreeList) {
if (item instanceof List<?>) {
flatten((List<?>) item, toFlatList);
} else {
toFlatList.add(item);
}
}
}
}

View file

@ -0,0 +1,16 @@
import static java.util.Arrays.asList;
import java.util.List;
public final class FlattenTestMain {
public static void main(String[] args) {
List<Object> treeList = a(a(1), 2, a(a(3, 4), 5), a(a(a())), a(a(a(6))), 7, 8, a());
List<Object> flatList = FlattenUtil.flatten(treeList);
System.out.println(treeList);
System.out.println("flatten: " + flatList);
}
private static List<Object> a(Object... a) {
return asList(a);
}
}