[英]n-dimensional array to n-nested list
我有一个可以是n维的Object []的对象,我需要将其转换为具有相同表示形式的n个嵌套列表,即[] [] []成为ArrayList >>。 我通过变量知道n在运行时的大小。 另一个警告是,“最低”数组中的对象必须在添加到“最低”列表中之前进行处理。 这些对象不能只是复制。 这是一维数组的简单情况
Object array; // argument
List<Object> list = new ArrayList<Object>();
for(Object o : (Object[])array) {
list.add(process(o));
}
此示例未考虑尺寸,因此对于简单情况“可以正常工作”,但在复杂情况下则失败。 如何以一般方式处理n个案件?
Object process(Object possibleArray) {
if (possibleArray instanceof Object[]) { // is array
Object[] array = (Object[]) possibleArray;
List<Object> list = new ArrayList<Object>(array.length);
for(Object o : array) {
list.add(process(o));
}
return list;
} else {
return possibleArray;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.