Full Stack Dev. Study- JAVA(4)

김영빈·2021년 3월 15일
0

Full Stack Dev. Study

목록 보기
4/8

배열과 ArrayList

배열은 기본적으로 c++과 사용법이 비슷하지만

Book[] library = new Book[5];

처럼 new 생성자를 무조건 사용해야한다는 차이점이 있다. 위의 예시처럼 사용하면 Book들의 주소를 생성한 것이고
library[0] = {bookName, bookId} 처럼 사용해야 실제 값을 넣은 것이다.

배열 복사 - System.arrayCopy

기본적으로 arrayCopy 메소드를 사용해서 배열을 복사한다. 하지만 이 때 값 자체를 복사하는 것이 아니라 주소만 복사하기 때문에 이전 배열 요소가 변경되면 복사된 것도 같이 바뀌게 된다.

libraryCopy = System.arrayCopy(library,0,libraryopy,0,5 )

이 문제를 해결하기 위해서는 깊은 복사를 해야 하는데 이는 값을 복사해서 다르게 사용할 수 있게된다.

for(int i=0;i<library.length; i++) {
	libraryCopy[i].setName(library[i].getName());
    libraryCopy[i].setId(library[i].getId());
}

Arraylist - Java에서 제공하는 클래스

// 생성.
java.util.ArrayList<String> list = new java.util.ArrayList<String>();
// 추가.
list.add("qwe");
list.add("asd");
list.add("zxc");
// 출력.
for(int i=0;i<list.size();i++) {
	System.out.println(list.get(i));
}
profile
초보 개발자

0개의 댓글