배열(Array)

김지윤·2023년 2월 13일
0

자바

목록 보기
8/11

배열이란?

연속된 공간에 값을 나열시키고, 각 값에 인덱스를 부여해 놓은 자료구조이다.

  • 생성 후에는 배열의 크기(길이)는 변경할 수 없다.
  • 배열은 객체이다.

배열 변수 "선언"

  • 타입[] 변수; (많이 사용됨)
  • 타입 변수[];

값 목록 넣는 법

  • 타입[] 변수 = {1,2,3, ... }; (O)
  • 타입[] 변수;
    변수 = {1,2,3, ... } (X)
  • 타입[] 변수;
    변수 = new 타입[] {1,2,3, ... } (O)

값 목록 없이 배열 변수 선언

  • 타입[] 변수 = new 타입[길이];
    (기본값이 초기화 되어 저장된다.) ex. 0

배열의 길이 : 변수.length



다차원 배열

  • "1차원은 선, 2차원은 면"의 개념으로 이해하면 안된다.
  • 1, 2, 3차원으로 나아갈 수록 참조하는 것이 많아지는 것이다.
  • 변수[0].length : 3
  • 변수[0][1].length : 2

값 목록으로 생성

int[][] scores = { {1,2,3}, {4,5} };

  • scores.length : 2
  • scores[0].length : 3
  • scores[1].length : 2



객체를 넣은 배열

  • 기본 타입 배열은 값을 직접 저장하지만, 객체 타입 배열은 값의 주소를 저장하고 있다.
  • 리터럴(값)이 같다면 같은 주소를 참조하게 된다.



배열 복사

배열의 길이를 변경할 수 없기 때문에, 새로운 배열에 기존 배열을 복사한다. (번지를 복사하게 되는 것이다.)

<System클래스의 메소드 활용>

  • System.arraycopy (원본 배열, 원본 시작 인덱스, 새 배열, 새 배열 붙여넣기 인덱스, 복사 갯수)



인덱스가 필요 없을 때 사용하는 for문

배열 전체를 실행해 준다.

int[] number = {1,2,3};
int sum = 0;
for(int num : number) {
	sum = sum + num;
}
profile
꾸준하게 공부하고 기록하는 개발자

0개의 댓글