객체 배열, ArrayList 클래스 / java

aljongjong·2021년 9월 26일
0

학원 복습일지

목록 보기
17/84

객체 배열 선언과 구현

  • 기본 자료형 배열은 선언과 동시에 배열의 크기만큼의 메모리가 할당되지만, 객체 배열은 요소가 되는 객체의 주소가 들어갈(4바이트, 8바이트) 메모리만 할당되고(null) 각 요소 객체는 생성하여 저장해야 함


객체 배열 복사하기

얕은 복사

  • System.arrayCopy(src, srcPos, dest, destPos, length) 자바에서 제공되는 배열 복사 메소드
  • 얕은 복사
  • 객체 주소만 복사되어 한쪽 배열의 요소를 수정하면 같이 수정 됨
  • 즉, 두 배열이 같은 객체를 가리킴

깊은 복사

  • 각각의 객체를 생성하여 그 객체의 값을 복사하여 배열이 서로 다른 객체를 가리키도록 함


객체 배열을 구현한 클래스 ArrayList

java.util 패키지에서 제공되는 ArrayList

  • 기존의 배열 선언과 사용 방식은 배열의 길이를 정하고 요소의 개수가 배열의 길이보다 커지면 배열을 재할당하고 복사해야 했다.
  • 배열의 요소를 추가하거나 삭제하면 다른 요소들의 이동에 대한 구현을 해야 한다.
  • ArrayList는 객체 배열을 좀 더 효율적으로 관리하기 위해 자바에서 제공해 주는 클래스
  • 이미 많은 메소드들이 최적의 알고리즘으로 구현되어 있어 각 메소드의 사용 방법만 익히면 유용하게 사용할 수 있다.

ArrayList를 이용한 성적 산출 프로그램


hashMap<K, V>

  • 순서가 필요없는 자료구조를 구현할 때

0개의 댓글