[Java | 코딩테스트] 2차원 배열 내 요소 여러개 넣기 (ArrayList 사용)

알린·2024년 4월 6일

코딩테스트

목록 보기
13/15

코드

static class Fish {
    int x, y;
    Fish(int x, int y) {
        this.x = x;  // x좌표
        this.y = y;  // y좌표
    }
}

ArrayList<Fish>[][] map = new ArrayList[4][4];
ArrayList<Fish> list = new ArrayList<>();

for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++) {
        map[i][j] = new ArrayList<>();
    }
}

for (int i = 0; i < M; i++) {
    st = new StringTokenizer(br.readLine());
    int x = Integer.parseInt(st.nextToken());
    int y = Integer.parseInt(st.nextToken());
    list.add(new Fish(x, y));
}

설명

이차원 배열의 각 요소Fish 객체를 저장하는 ArrayList

  • map의 배열에는 list의 참조(주소)가 저장
    👉 즉, ArrayList가 각 위치에 대한 정보를 가지고 있는 것
  • 객체 변수에는 해당 객체의 참조가 저장되고, 이 참조를 통해 객체에 접근
  • 이를 통해 map의 배열 요소가 list 객체에 접근

이로써 각 위치마다 여러마리의 물고기가 존재하는 것을 구현할 수 있음 (한 칸에 요소 여러개)

profile
짱이 되고싶은 개발 기록

0개의 댓글