본문 바로가기

Java/Base

[JAVA] 배열

배열

 

배열은 같은 타입의 변수가 여러 개 필요할 때 사용하는 자료구조이다.

 

배열은 두 가지 선언 방식이 있다.

 

첫번째로, 배열을 먼저 선언한 후 배열의 각 요소마다 초기화를 해주는 방식이다.

//배열 선언 이후 초기화
//자료형[] 배열이름 = new 자료형[배열 크기];
String[] arr = new String[5]; // (선언)
arr[0] = "reset"; // (초기화)

두번째로, 배열의 선언과 동시에 초기화를 해주는 방식이다.

//배열 선언과 동시에 초기화
String[] arr2 = {"r", "e", "s", "e", "t"};

 

배열 메서드

○ length()

배열의 길이 정보를 얻을 수 있는 메소드이다.

int len = arr.length;

 

○ Arrays

Arrays 클래스의 메소드를 사용하고자 한다면 다음과 같이 패키지를 불러와야 한다.

import java.util.Arrays;

 

○ Arrays.toString()

 

배열의 내용을 println을 이용해 한 번에 출력하려고 하면 주소값이 출력된다.(char형 제외)

이는 java에서 사용하는 배열이 값을 가지고 있는 것이 아니라 해당 값이 저장된 주소를 참조하는 것이기 때문이다.

배열의 값 중 char형, 즉 문자열은 한 번에 출력이 가능하기 때문에 사용자는 배열의 값을 문자열로 만들어 출력하는 과정을 가지게 되는데, 이때 사용되는 메서드가 Arrays.toString()이다.

System.out.println(Arrays.toString(arr));

위처럼 먼저 배열을 문자열로 치환해준다음 이 값을 출력한다.

 

Arrays.sort()

배열을 오름차순으로 정렬하는 메서드이다.

다만 정렬 후 배열을 반환하지는 않는다.

Arrays.sort(arr); // arr 배열에 오름차순으로 정렬한 배열을 저장
System.out.println(Arrays.toString(arr)); // 정렬된 배열을 원하는 방식대로 따로 사용

Arrays.sort(arr, 0, 5); // 배열의 일부분만 정렬하는 것도 가능하다. 요소 0~4까지 정렬

 

○ Arrays.equals()

두 배열이 완전히 같은지 한 번에 비교할 수 있는 메소드이다.

boolean eq = Arrays.equals(arr1, arr2);

 

2차원 배열

2차원 배열은 1차원 배열의 배열과 같다.

한 개의 1차원 배열이 존재할때, 이를 또다시 자신의 하나의 요소로 삼는 것이 2차원 배열이다.

 

2차원 배열은 다음과 같이 선언할 수 있다.

자료형[][] 배열이름 = new 자료형[배열크기][배열크기];
int[][] arr = new int[3][5];
arr[0][0] = 1;
arr[0][1] = 2;
...
arr[2][4] = 12;

배열의 갯수와 길이를 정하는 방식을 정변 배열이라고 한다.

반면 배열의 갯수는 정하나 각 배열의 길이는 유동적으로 할당할 수 있도록 한 것이 가변 배열이다.

int[][] arr2 = new int[3][];

arr2[0] = new int[3];
arr2[1] = new int[2];
arr2[2] = new int[5];

'Java > Base' 카테고리의 다른 글

[JAVA] 리스트  (0) 2023.09.07
[JAVA] 키보드 입력  (0) 2023.09.06
[JAVA] 생성자  (0) 2023.08.17
[JAVA] getter(), setter()  (0) 2023.08.08
[JAVA] 다형성 - 메소드 오버라이딩(Method Overridng)  (0) 2023.08.08