java – 如何转置列表?
发布时间:2020-12-14 16:20:58 所属栏目:Java 来源:网络整理
导读:我有一个以下的ArrayList, [Title,Data1,Data2,Data3][A,2,3,4][B,5,7] 我想像这样转换这个, [Title,A,B][Data1,3][Data2,5][Data3,4,7] 我对这种做法感到困惑.任何暗示都将不胜感激. 谢谢. 解决方法 这被称为转置.以下代码段执行您需要的: import java.uti
我有一个以下的ArrayList,
[Title,Data1,Data2,Data3] [A,2,3,4] [B,5,7] 我想像这样转换这个, [Title,A,B] [Data1,3] [Data2,5] [Data3,4,7] 我对这种做法感到困惑.任何暗示都将不胜感激. 谢谢. 解决方法
这被称为转置.以下代码段执行您需要的:
import java.util.*; public class ListTranspose { public static void main(String[] args) { Object[][] data = { { "Title","Data1","Data2","Data3" },{ "A",4 },{ "B",7 },}; List<List<Object>> table = new ArrayList<List<Object>>(); 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 <T> List<List<T>> transpose(List<List<T>> table) { List<List<T>> ret = new ArrayList<List<T>>(); final int N = table.get(0).size(); for (int i = 0; i < N; i++) { List<T> col = new ArrayList<T>(); for (List<T> row : table) { col.add(row.get(i)); } ret.add(col); } return ret; } } 也可以看看 > Wikipedia/Transpose (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |