본문 바로가기

자바의 정석 정리

자바의 정석 - 11.2 ArrayList

11.2.1 ArrayList

  • ArrayList는 Object배열을 이용해서 데이터를 순차적으로 저장함Java transient이란?
  • public class ArrayList extend AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable{ ... transient Object[] elementData; // Object배열 }
  • 선언된 배열의 타입이 모든 객체의 최고조장인 Object이기 때문에 모든 종류의 객체를 담을 수 있음
  • ArrayLsit는 List를 구현했기 때문에, 저장된 순서를 유지함
  • 생성할 때 지정한 크기보다 더 많은 객체를 저장하면 자동적으로 크기가 늘어나긴 하지만, 이 과정에서 처리시간이 많이 소요됨
  • 💡 자동적으로 크기가 늘어나는 것은 기존보다 큰 새로운 배열을 만들어 포인터를 이동시키는 것임. 기존의 작은 배열은 지정된 포인터가 없기 때문에, 가비지 컬렉터가 삭제함