알고리즘/자료구조
2차원 Array, List로 변경하기
e-pd
2021. 3. 10. 00:38
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문을 통해 값을 세팅한다.