코린이의 소소한 공부노트

배열 (array) 본문

Back-End/Data Structure

배열 (array)

무지맘 2023. 3. 9. 15:10

1. 개념정리

1) 같은 타입인 여러 개의 변수를 하나로 묶어놓은 것

- 타입은 기본형, 참조형 가리지 않는다.

- 물리적으로(하드디스크) 연속된 공간에 저장되어있다.

- 자바는 참조변수에 배열의 시작주소를 저장해서 이용하고 있다.

2) 배열의 크기는 배열을 이루고 있는 요소의 개수와 같다.

- 한번 선언된 배열의 크기는 바꿀 수 없다.

- 크기를 늘리고싶다면 새 배열을 만들어 반복문이나 System.arraycopy() 등을 이용해 요소를 복사해야 한다.

- java.util 패키지에 있는 ArrayList 클래스를 이용해서 유연한 배열을 사용할 수 있다.

3) 배열이 다른 배열의 요소가 될 수 있다.

- 1차원 배열의 요소가 1차원 배열이라면 그 배열은 2차원 배열이 된다.

4) 인덱스(위치)는 0번부터 시작한다.

 

2. 구현 코드

- 생략

 

3. 예제 코드

// 1) 생성

// 1)-1 크기를 지정해서 생성
int[] x = new int[5]; // int 변수 5개를 담을 수 있는 배열 선언
                      // x = {0,0,0,0,0}

// 1)-2 요소를 지정해서 생성
int[] y = {1,2}; // 1과 2를 담고 있는 배열 선언
int[] z = {3,4,5}; // 3, 4, 5를 담고 있는 배열 선언

// 1)-3 다른 배열을 요소로 지정해서 생성
int[][] arr;
arr = new int[][] {x, y, z};
                 // 위 두 줄을 한 줄로 줄이면 int[][] arr = {x, y, z};
                 // arr = {{0,0,0,0,0},{1,2},{3,4,5}}


// 2) 탐색 & 출력
for(int i=0 ; i<arr.length ; i++) {
    for(int j=0 ; j<arr[i].length ; j++) // 각 배열의 요소의 길이가 다른 것을 고려한 코드
        System.out.print(arr[i][j]);
    System.out.println();
}

// 출력 결과
00000
12
345

'Back-End > Data Structure' 카테고리의 다른 글

이진 탐색 트리  (0) 2023.04.15
큐(queue)  (0) 2023.03.19
스택 (stack)  (0) 2023.03.13
연결 리스트(linked list)  (0) 2023.03.10
자료구조의 종류  (0) 2023.03.09