배열(array)
같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 (서로 다른 타입의 변수들로 구성할 수 없음)
배열의 선언과 생성
원하는 타입의 변수를 선언하고 변수 또는 타입에 배열임을 의미하는 대괄호 [ ] 를 붙인다
배열의 생성
배열 선언 : 생성된 배열을 다루기 위한 참조변수를 위한 공간이 만들어진것
ex) 타입[] 변수이름;
int[ ] score; // 배열 선언 (배열을 다루기 위한 참조변수 선언)
배열 생성 : 값을 저장할 수 있는 공간을 만드는 것, 배열을 생성하려면 연산자 'new'와 함께 배열의 타입과 길이를 지정한다
ex) 변수이름 = new 타입 [ 길이 ] // 배열 생성 (실제 저장공간을 생성)
score = new int [5];
배열의 길이와 인덱스
배열의 요소(element) : 생성된 배열의 각 저장공간
인덱스(index) : 배열의 요소마다 붙여진 일련번호
인덱스의 범위 : 0부터 '배열길이 -1'까지
유효하지 않은 값을 index로 사용시 무사히 컴파일을 마쳤더라도 실행 시에 에러(ArrayIndexOutOfBoundsException)가 발생
배열의 길이 : 값을 저장할 수 있는 공간의 개수
(길이가 0인 배열도 생성 가능)
배열의 길이는 int범위의 양의 정수(0도 포함)이어야 한다
배열이름.length : 배열의 길이에 대한 정보를 얻을 수 있다 (읽기만 가능)
배열은 한번 생성하면 길이를 변경할 수 없기에 이미 생성된 배열의 길이는 변하지 않는다
배열의 길이 변경하는 방법
1. 더 큰 배열을 새로 생성한다
2. 기존 배열의 내용을 새로운 배열에 복사한다
배열의 초기화
배열은 생성과 동시에 자동적으로 자신의 타입에 해당하는 기본값으로 초기화가 된다
배열의 출력
Arrays.toString(배열이름) : 배열의 모든 요소를 [ 첫번째 요소, 두번째 요소, ...] 와 같은 형식의 문자열로 만들어서 반환
배열의 복사
보다 큰 배열을 새로 만들고 이전 배열로부터 내용을 복사한다
참조변수가 없는 배열은 사용할 수 없으며 이렇게 쓸모없게 된 배열은 JVM의 가비지 컬렉터에 의해 자동적으로 메모리에서 제거된다
System.arraycopy( )를 이용한 배열의 복사
지정된 범위의 값들을 한 번에 통째로 복사
배열의 복사는 for문보다 System.arraycopy( )를 사용하는 것이 효율적이다
char배열은 for문을 사용하지 않고도 print()나 println()으로 배열에 저장된 모든 문자 출력 가능
배열의 활용
총합과 평균 : 배열의 모든 요소를 더해서 총합과 평균을 구한다.
최대값과 최소값 : 배열의 요소 중에서 제일 큰 값과 제일 작은 값을 찾는다.
섞기(shuffle) : 배열의 요소의 순서를 반복해서 바꾼다. (카드섞기, 로또번호생성)
임의의 값으로 배열 채우기 : 연속 또는 불연속적인 값들로 배열을 초기화 한다.
정렬하기(sort) : 오름차순, 내림차순으로 배열을 정렬
빈도수 구하기 : 배열에 어떤 값이 몇 개 저장되어 있는지 세어서 보여준다.
'Backend > Java' 카테고리의 다른 글
자바의 정석 정리(23) - String 배열 ② (0) | 2022.06.08 |
---|---|
자바의 정석 정리(22) - String 배열 ① (0) | 2022.06.07 |
자바의 정석 정리(20) - 반복문 ② (0) | 2022.06.03 |
자바의 정석 정리(19) - 반복문 ① (0) | 2022.06.01 |
자바의 정석 정리(18) - 조건문 (0) | 2022.06.01 |