1. 배열 (Array)
동일한 자료형의 저장 공간이 순차적으로 나열된 자료 구조
2. 배열 선언
int[] arr1 = new int[10];
int arr2[] = new int[10];
int[] numbers = new int[] {10, 20, 30}; # 개수 생략해야 함
int[] numbers = {10, 20, 30}; # new int[] 생략 가능
int[] ids;
ids = new int[] {10, 20, 30}; # 선언후 배열을 생성하는 경우는 new int[] 생략할 수 없음
1. 객체 배열
기본 자료형을 요소로 갖는 배열이 아닌 객체(인스턴스)를 요소로 갖는 배열
2. 객체 배열 생성 및 초기화
public class BookArrayTest {
public static void main(String[] args) {
Book[] library = new Book[5]; # Book 객체를 참조하는 레퍼런스 변수를 요소로하는 배열 생성
library[0] = new Book("태백산맥1", "조정래"); # 각 레퍼런스 변수에 Book 인스턴스를 지정
library[1] = new Book("태백산맥2", "조정래");
library[2] = new Book("태백산맥3", "조정래");
library[3] = new Book("태백산맥4", "조정래");
library[4] = new Book("태백산맥5", "조정래");
for(int i =0; i<library.length; i++) {
System.out.println(library[i]);
library[i].showBookInfo();
}
}
}
3. 배열 복사
Book[] copyLibaray = new Book[5];
System.arraycopy(library, 0, copyLibaray, 0, 5);
4. 2차원 배열
1. Array List
List 인터페이스를 상속받은 클래스로 가변적으로 변하는 선형 순차적 자료 구조 (배열)
2. Array List 클래스 메서드
3. Array List 선언
ArrayList list = new ArrayList(); # 타입 미설정 시 Object로 지정
ArrayList<Generic> list = new ArrayList<Generic>(); # < > 안에 자료 타입 지정
ArrayList<Book> library = new ArrayList<Book>(); # Book 자료형으로 ArrayList 생성
library.add(new Book("책1", "홍길동")); # ArrayList.add 함수로 요소 삽입
library.add(new Book("책2", "김유신")); # ArrayList 요소도 레퍼런스 변수임
library.add(new Book("책3", "이순신"));
for(int i =0; i<library.size(); i++) {
library.get(i).showBookInfo(); # ArrayList i번 째 요소의 레퍼런스 변수가 가르키는 인스턴스의 함수 호출
}