这被称为转置.以下代码段执行您需要的:
import java.util.*;
public class ListTranspose {
public static void main(String[] args) {
Object[][] data = {
{ "Title","Data1","Data2","Data3" },{ "A",4 },{ "B",7 },};
List> table = new ArrayList>();
for (Object[] row : data) {
table.add(Arrays.asList(row));
}
System.out.println(table); // [[Title,Data3],// [A,4],// [B,7]]"
table = transpose(table);
System.out.println(table); // [[Title,B],// [Data1,3],// [Data2,5],// [Data3,7]]
}
static List> transpose(List> table) {
List> ret = new ArrayList>();
final int N = table.get(0).size();
for (int i = 0; i < N; i++) {
List col = new ArrayList();
for (List row : table) {
col.add(row.get(i));
}
ret.add(col);
}
return ret;
}
}
也可以看看