package ru.job4j.convertlist;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
//import java.util.Collections;

/**
 * Class Convert описывает прямое и обратное преобразование Списка в мнокомерный массив.
 * @author Timur Kapkaev (timur.kap@yandex.ru)
 * @version $Id$
 * @since 20.06.2017
 */
public class ConvertList {

    /**
     * Преобразование двумерного массива в последовательность элементов.
     * @param array - двумерный массив
     * @return список элементов
     * */
    public List<Integer> toList(int[][]array) {
        List<Integer> list = new ArrayList<Integer>();
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                list.add(array[i][j]);
            }
        }
        return list;
    }

    /**
     * Преобразует список элемнтов в двумерный массив.
     * @param list - список элементов
     * @param rows - число строк массива
     * @return двумерный массив
     * */
    public int[][] toArray(List<Integer> list, int rows) {
        int columns = list.size() / rows;
        Iterator<Integer> iterator = list.iterator();
        if ((list.size() % rows) != 0) {
            columns++;
        }

        int[][] array = new int[rows][columns];

        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < columns; j++) {
                if ((i * columns + j) < list.size()) {
                    array[i][j] = iterator.next();
                } else {
                    array[i][j] = 0;
                }
            }
        }

        return array;

    }



//    public static void main(String[] args) {
//
//        List<Integer> list = new ArrayList<Integer>();
//        Collections.addAll(list, 7, 6, 5, 4, 3, 2, 1);
//
//        ConvertList convertor = new ConvertList();
//        int [][] mas = convertor.toArray(list, 2 );
//        for (int i = 0 ; i < mas.length; i++) {
//            for(int j = 0; j < mas[i].length; j++) {
//                System.out.print(mas[i][j] +  " ");
//            }
//            System.out.println();
//        }
//        System.out.println(convertor.toList(mas).toString());
//    }
}

@@ -1601,578 +1601,6 @@
   %7D%0A
-%0A%0A%0A//    public static void main(String%5B%5D args) %7B%0A//%0A//        List%3CInteger%3E list = new ArrayList%3CInteger%3E();%0A//        Collections.addAll(list, 7, 6, 5, 4, 3, 2, 1);%0A//%0A//        ConvertList convertor = new ConvertList();%0A//        int %5B%5D%5B%5D mas = convertor.toArray(list, 2 );%0A//        for (int i = 0 ; i %3C mas.length; i++) %7B%0A//            for(int j = 0; j %3C mas%5Bi%5D.length; j++) %7B%0A//                System.out.print(mas%5Bi%5D%5Bj%5D +  %22 %22);%0A//            %7D%0A//            System.out.println();%0A//        %7D%0A//        System.out.println(convertor.toList(mas).toString());%0A//    %7D%0A
 %7D%0A

task 10035