본문 바로가기

Java

배열

배열
같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
타입[] 변수이름 = new 타입[길이]

 

10개의 int값을 저장할 수 있는 배열 생성

변수 test는 배열을 다루는데 필요한 참조변수, 값을 저장하기 위한 공간은 아니다
각 배열요소는 자동적으로 자신의 타입에 해당하는 기본값으로 초기화 된다.

유효한 범위를 벗어난 값을 index로 사용하면 ArrayIndexoutOfBoundsException 에러가 발생한다.

배열의 길이는 int범위의 양의 정수(0 포함)이어야 한다.

자바에서는 JVM이 모든 배열의 길이를 별도로 관리

배열이름. length(상수)

 

배열은 한번 선언되면 길이를 변경할 수 없다.
길이를 변경하기 위해서는

1. 더 큰 배열을 새로 생성한다.
2. 기존 배열의 내용을 새로운 배열에 복사한다.

이러한 작업들은 많은 비용이 들기 때문에 처음부터 배열의 길이를 넉넉하게 잡아야 한다.

배열의 복사는 for문보다는 System.arraycopy()를 사용하는 것이 효율적이다.
System.arraycopy(복사할 배열, 복사할 배열 요소, 복사받을 배열, 복사할 배열의 크기);

배열은 참조변수를 통해서만 접근할 수 있기 때문에, 자신을 가리키는 참조변수가 없는 배열은 사용할 수 없다.
이렇게 쓸모없게 된 배열은 JVM의 가비지 컬렉션에 의해서 자동적으로 메모리에서 제거된다.

String 클래스는 char배열에 메서드를 추가한 것이다.

char 배열과 string 클래스의 차이점은 String객체는 읽을 수만 있고 내용은 변경이 불가능하다.
변경 가능한 문자열을 다루기 위해서는 StringBuffer클래스를 사용한다.

'Java' 카테고리의 다른 글

버튼 CSS(검색 창 같은)  (0) 2021.07.11
CKEditor 사용 시 html 태그가 그대로 출력 될 경우  (0) 2021.07.09
연산자  (0) 2021.03.31
변수, 상수, 형변환  (0) 2021.03.31
가비지 컬렉션(Garbage collection)  (0) 2021.03.31