개발/Java

Java] Do it 자바 프로그래밍 입문 요약 (둘째마당 - 07)

펭귀니 :) 2019. 6. 14. 21:26

둘째마당, 자바의 핵심. 객체 지향 프로그래밍

07) 배열과 ArrayList

배열 선언

자료형[] 배열이름 = new 자료형[개수];  ex) int[] studentID = new int[10];

자료형 배열이름[] = new 자료형[개수];  ex) int studentID[] = new int[10];

배열 초기화

ex 1) int[] studentID = new int[] {101,102,103};

ex 2) int[] studentID = {101,102,103};

* 배열의 인덱스는 0부터 n-1개까지

객체 배열 사용하기

ex) Book 클래스를 만들고 이 클래스로 객체 배열을 만들어 본다면,

Book[] library = new Book[5];

배열 복사하기

System.arraycopy(src, srcPos, dest, destPos, length)

src : 복사할 배열 이름

srcPos : 복사할 배열의 첫 번째 위치

dest : 복사해서 붙여 넣을 대상 배열 이름

destPos : 복사해서 대상 배열에 붙여 넣기를 시작할 첫 번째 위치

length : src에서 dest로 자료를 복사할 요소 개수

* 얕은 복사(인스턴스 따로 생성하지 않으면 인스턴스 주소 값만 복사 됨) vs 깊은 복사 (인스턴스 따로 생성해서 복사 필요)

향상된 for문 배열

for(변수 : 배열){

   반복 실행문;

}

ex)

String[] strArray = {"Java", "Android", "C", "JavaScript", "Python"};
for(string lang:strArray){
	System.out.println(lang);
}

 

이차원 배열

int[][] arr = new int[2][3]; //자료형[][] 배열이름 = new 자료형[행개수][열개수];

ArrayList 클래스 사용하기

배열은 길이를 정하고 시작해야 하는 단점이 있어서 ArrayList를 사용한다. add()메서드를 이용해 배열의 크기를 더 키울 수도 있고, 배열 중간의 어떤 요소 값이 제거되면 그 다음 요소 값을 하나씩 앞으로 이동하는 코드도 이미 구현되어 있다.

ArrayList<E> 배열 이름 = new ArrayList<E>();

ex) ArrayList<Book> library = new ArrayList<Book>();