0

マップがあり、それを2次元配列に変換しようとしています。このために、マップの値をリストに変換してから、2次元配列に変換しようとしています。

私のコードは

try {
List list = new ArrayList(layoutMap.values());
int listSize = list.size();
ArrayList[][] layoutList = new ArrayList[listSize][];
for(int i = 0; i < listSize; i++){
    List sublist = (ArrayList) list.get(i);
    int subListSize = sublist.size();
    layoutList[i] = new ArrayList[subListSize];
    for (int j = 0; j < subListSize; j++) {
    layoutList[i][j] =  (ArrayList) sublist.get(j);
    }
} 
} catch (Exception e) {
log.error("@layoutMapDetails () :", e);
}

これを行うと、クラスキャスト例外com.pojo.layout.LayoutDetails cannot be cast to java.util.ArrayListが発生します。これを解決する方法はありますか。リストから2次元配列への変換は正しいですか..?ここでlayoutMapはMap<Integer, List>

4

1 に答える 1

0
final Object[][] result = new Object[map.size()][2];

final Iterator<?> iter = map.entrySet().iterator();

int ii = 0;
while(iter.hasNext()){
    final Map.Entry<?, ?> mapping = (Map.Entry<?, ?>) iter.next();

    result[ii][0] = mapping.getKey();
    result[ii][1] = mapping.getValue();

    ii++;
}
于 2012-06-04T12:16:45.390 に答える