본문 바로가기
알고리즘/자료구조

2차원 Array, List로 변경하기

by e-pd 2021. 3. 10.
 public static void main(String[] args) {
        int[][] inputArray = {{1,2},
                {4,5,6,7,8},
                {9,10,11}
        };

        List<List<Integer>> lists = convertToList(inputArray);
        System.out.println(lists);
    }

    public static List<List<Integer>> convertToList(int[][] inputArray) {
        List<List<Integer>> result = new ArrayList<>();

        for (int i = 0; i < inputArray.length; i++) {
            List<Integer> list = new ArrayList<>();
            for (int j = 0; j < inputArray[i].length; j++) {
                list.add(inputArray[i][j]);
            }
            result.add(list);
        }

        return result;
    }

행에 해당하는 리스트를 먼저 잡아준다.

열에 해당하는 array를 순회하고 list에 넣어준다. 

 

 

2차원 리스트를 2차원 배열로 바꾸기

 

   public static void main(String[] args) {
        int[][] inputArray = {{1,2},
                {4,5,6,7,8},
                {9,10,11}
        };

        List<List<Integer>> lists = convertToList(inputArray);
        int[][] ints = convertToArray(lists);
        System.out.println(Arrays.deepToString(ints));
    }
    
    public static int[][] convertToArray(List<List<Integer>> list) {
        int[][] result = new int[list.size()][];

        for (int i = 0; i < list.size(); i++) {
            result[i] = new int[list.get(i).size()];
        }

        for (int i = 0; i < list.size(); i++) {
            for (int j = 0; j < list.get(i).size(); j++) {
                result[i][j] = list.get(i).get(j);
            }
        }

        return result;
    }

처음에는 행에 해당하는 값을 먼저 잡아준다.

for문을 통해 열에 해당하는 값을 세팅한다.

 

다시 2중 for문을 통해 값을 세팅한다.

'알고리즘 > 자료구조' 카테고리의 다른 글

크레인 인형뽑기 게임  (0) 2020.09.09
네트워크  (0) 2020.09.06
올바른 괄호  (0) 2020.08.06