Chapter 5 배열
- 배열의 복사는 for문 보다는 System.arraycopy()를 사용하는 것이 효율적임
→ System.arraycopy(num, 0, newNum, 0, num.length);
→ num[0]에서 newNum[0]으로 num.length개의 데이터를 복사 - String 클래스는 char배열에 기능(메서드)을 추가한 것
- 객체 배열
-> Book[] book = new Book[5];
-> book[0], book[1] ... 는 Book 각 객체의 주소값을 저장
-> 배열 요소 5개가 아닌 객체 5개
Book[] library = new Book[5];
Book[] copyLibrary = new Book[5];
library[0] = new Book("태백산맥", "조정래");
library[1] = new Book("태백산맥1", "조정래");
library[2] = new Book("태백산맥2", "조정래");
library[3] = new Book("태백산맥3", "조정래");
library[4] = new Book("태백산맥4", "조정래");
System.arraycopy(library, 0, copyLibrary, 0, 5);
// copyLibrary 배열 전체 길이만큼 돌면서 element를 하나씩 꺼내서 book 변수에 넣겠다.
for(Book book : copyLibrary) {
book.showBookInfo();
}
1) 얕은 복사: System.arraycopy를 이용해서 주소를 복사함 (2개의 객체 array는 똑같은 것을 가리킴)
2) 깊은 복사: 하나하나 객체를 새로 만들어서 값을 대입해야함, 인스턴스가 구별되기 때문에 값이 바뀐다고 해서 원본에 영향을 미치지 않음
-
향상된 for 문
ArrayList<String> list = new ArrayList<>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); for (int i = 0; i < list.size(); i++) { String str = list.get(i); System.out.println(str); } for (String str : list) { System.out.println(str); }
Author And Source
이 문제에 관하여(Chapter 5 배열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gkskaks1004/배열저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)