import java.lang.reflect.Array;
import java.lang.*;
import java.util.*;
class Main
{
public static void main
(String[] args
) { final List<List<String>> test = new ArrayList<List<String>>();
test.
add(new ArrayList
<String
>(Arrays.
asList("a",
"b",
"c"))); test.
add(new ArrayList
<String
>(Arrays.
asList("d",
"e",
"f",
"g"))); test.
add(new ArrayList
<String
>(Arrays.
asList("h",
"i")));
for (final String[] innerArray
: multiListToArray
(test,
String.
class)) { }
}
public static <T> T[][] multiListToArray(final List<List<T>> listOfList, final Class<T> classz) {
final T
[][] array
= (T
[][]) Array.
newInstance(classz, listOfList.
size(),
0); for (int i = 0; i < listOfList.size(); i++) {
array
[i
] = listOfList.
get(i
).
toArray((T
[]) Array.
newInstance(classz, listOfList.
get(i
).
size())); }
return array;
}
}
aW1wb3J0IGphdmEubGFuZy5yZWZsZWN0LkFycmF5OwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLnV0aWwuKjsKIApjbGFzcyBNYWluCnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgZmluYWwgTGlzdDxMaXN0PFN0cmluZz4+IHRlc3QgPSBuZXcgQXJyYXlMaXN0PExpc3Q8U3RyaW5nPj4oKTsKICAgICAgICAgICAgICAgIHRlc3QuYWRkKG5ldyBBcnJheUxpc3Q8U3RyaW5nPihBcnJheXMuYXNMaXN0KCJhIiwgImIiLCAiYyIpKSk7CiAgICAgICAgICAgICAgICB0ZXN0LmFkZChuZXcgQXJyYXlMaXN0PFN0cmluZz4oQXJyYXlzLmFzTGlzdCgiZCIsICJlIiwgImYiLCAiZyIpKSk7CiAgICAgICAgICAgICAgICB0ZXN0LmFkZChuZXcgQXJyYXlMaXN0PFN0cmluZz4oQXJyYXlzLmFzTGlzdCgiaCIsICJpIikpKTsKIAogICAgICAgICAgICAgICAgZm9yIChmaW5hbCBTdHJpbmdbXSBpbm5lckFycmF5IDogbXVsdGlMaXN0VG9BcnJheSh0ZXN0LCBTdHJpbmcuY2xhc3MpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihBcnJheXMudG9TdHJpbmcoaW5uZXJBcnJheSkpOwogICAgICAgICAgICAgICAgfQogICAgfQogCiAgICBwdWJsaWMgc3RhdGljIDxUPiBUW11bXSBtdWx0aUxpc3RUb0FycmF5KGZpbmFsIExpc3Q8TGlzdDxUPj4gbGlzdE9mTGlzdCwgZmluYWwgQ2xhc3M8VD4gY2xhc3N6KSB7CiAgICAgICAgZmluYWwgVFtdW10gYXJyYXkgPSAoVFtdW10pIEFycmF5Lm5ld0luc3RhbmNlKGNsYXNzeiwgbGlzdE9mTGlzdC5zaXplKCksIDApOwogICAgICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsaXN0T2ZMaXN0LnNpemUoKTsgaSsrKSB7CiAgICAgICAgICAgICAgICBhcnJheVtpXSA9IGxpc3RPZkxpc3QuZ2V0KGkpLnRvQXJyYXkoKFRbXSkgQXJyYXkubmV3SW5zdGFuY2UoY2xhc3N6LCBsaXN0T2ZMaXN0LmdldChpKS5zaXplKCkpKTsKICAgICAgICAgICAgfQogCiAgICAgICAgcmV0dXJuIGFycmF5OwogICAgfQp9