Here you can find the source of transpose(List> matrix)
public static List<List<Double>> transpose(List<List<Double>> matrix)
//package com.java2s; /*// w w w .j a v a 2s .c om * Copyright (C) 2013 Universitat Pompeu Fabra * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ import java.util.ArrayList; import java.util.List; public class Main { public static List<List<Double>> transpose(List<List<Double>> matrix) { List<List<Double>> transposed = new ArrayList<List<Double>>(matrix.get(0).size()); final int origRows = matrix.get(0).size(); for (int colIndex = 0; colIndex < origRows; colIndex++) { transposed.add(new ArrayList<Double>(matrix.size())); } for (final List<Double> origColumn : matrix) { for (int rowIndex = 0; rowIndex < origColumn.size(); rowIndex++) { transposed.get(rowIndex).add(origColumn.get(rowIndex)); } } return transposed; } }