배열 (array)
포스트
취소

배열 (array)

배열(array)이란?

  • 같은 타입의 변수들로 이루어진 집합으로 정의
  • 관련 용어
    • 배열 요소 (element)
      • 배열을 구성하는 각각의 값
    • 인덱스 (index)
      • 배열에서의 위치를 가리키는 숫자
  • Java에서 인덱스는 언제나 0부터 시작하며, 0을 포함한 양의 정수만을 가질 수 있다.

1차원 배열

  • 선언 방법
//선언 - 방법 1
타입[] 배열이름;

//선언 - 방법 2
타입 배열이름[];

//선언 및 인스턴스 생성 - 방법 1
배열이름 = new 타입[배열길이];

//선언 및 인스턴스 생성 - 방법 2
타입[] 배열이름 = new 타입[배열길이];

//선언 및 인스턴스 생성과 초기화 - 방법 1
타입[] 배열이름 = {배열요소1, 배열요소2, ...};

//선언 및 인스턴스 생성과 초기화 - 방법 2
타입[] 배열이름 = new 타입[]{배열요소1, 배열요소2, ...};

2차원 배열

  • 선언 방법
//선언 - 방법 1
타입[][] 배열이름;

//선언 - 방법 2
타입 배열이름[][];

//선언 - 방법 3
타입[] 배열이름[];

//선언 및 인스턴스 생성과 초기화
타입 배열이름[행의길이][열의길이] = {
    {배열요소[0][0], 배열요소[0][1], ...},
    {배열요소[1][0], 배열요소[1][1], ...},
    {배열요소[2][0], 배열요소[2][1], ...},
    ...
};

배열의 초깃값

  • char
    • ‘\u0000’
  • byte, short, int
    • 0
  • long
    • 0L
  • float
    • 0.0F
  • double
    • 0.0 또는 0.0D
  • boolean
    • false
  • 배열, 인스턴스 등
    • null

배열의 복사

  • 종류
    • System 클래스의 arraycopy() 메소드
    • Arrays 클래스의 copyOf() 메소드
    • Object 클래스의 clone() 메소드
    • for 문과 인덱스를 이용한 복사
  • 사용 예시
int[] arr1 = new int[]{1, 2, 3, 4, 5};
int newLen = 10;

//System 클래스의 arraycopy() 메소드
int[] arr2 = new int[newLen];
System.arraycopy(arr1, 0, arr2, 0, arr1.length);

//Arrays 클래스의 copyOf() 메소드
int[] arr3 = Arrays.copyOf(arr1, 10);

//Object 클래스의 clone() 메소드
int[] arr4 = (int[])arr1.clone();

//for 문과 인덱스를 이용한 복사
int[] arr5 = new int[newLen];

Enhanced for 문

  • JDK 1.5부터 사용가능한 배열과 컬렉션의 모든 요소를 참조하기 위한 반복문
  • 배열과 컬렉션 프레임워크에서 유용하게 사용된다.
  • 사용 방법
    for (타입 변수이름 : 배열이나컬렉션이름) {
    배열의 길이만큼 반복적으로 실행하고자 하는 명령문;
}
  • 사용 예시
int[] arr = new int[]{1, 2, 3, 4, 5};

for (int ele : arr) {
    System.out.println("요소 : " + ele);
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.