본 포스팅의 목적
- 자료구조의 가장 기본이 되는 배열에 대해서 핵심적인 내용을 정리해보자.
- 배열을 시작으로 ArrayList, HashSet, HashMap 등 CollectionFramework의 기초를 준비한다.
//방법1. 배열 생성 후, 초기화
//따로 초기화를 해주지 않는다면, int형의 기본값인 0으로 초기화된다.
int[] arr = new int[5];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
//방법2. 배열 생성과 동시에 원하는 값으로 초기화
int[] arr = {1, 2, 3, 4, 5};
//배열의 길이를 알 수 있다.
int[] arr = {1, 2, 3, 4, 5};
System.out.println(arr.length); //5
int[] arr = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(arr)); //[1, 2, 3, 4, 5]
String[] name = new String[3];
System.out.println(name[0]); //null
System.out.println(name[1]); //null
System.out.println(name[2]); //null
//배열 생성과 동시에 초기화
String[] name = {"사과", "딸기", "포도"};
String 배열이 생성되고, 문자열로 초기화된 구조를 그림으로 나타내면 아래와 같다.
하지만, String 타입은 참조형 타입이므로 이는 정확한 구조는 아니다.
참조형 변수에는 객체의 주소값이 저장되므로, 정확히 말하자면 String 객체를 참조하는 참조변수의 배열이 생성되고, 각각은 String 객체를 가리키고 있음을 알 수 있다.
TV[] tvArr = new TV[3];
tvArr[0] = new TV();
tvArr[1] = new TV();
tvArr[2] = new TV();
TV[] tvArr = {new TV(), new TV(), new TV()};
참고문헌
- 자바의 정석 3판 기초편