[JAVA] ArrayList

CheolHyeon Park·2022년 7월 26일
0

Java

목록 보기
8/9

ArrayList의 특징

  • List 인터페이스를 상속
  • 동적으로 크기가 변함
  • Thread Safety 하지 않다

List 인터페이스 상속으로 인한 특징

  • 순차적 접근
  • 정수형 인덱스로 접근(zero-base)
  • 중복허용
  • ListIterator 제공

Iterator는 Collection 객체를 순회하기 위한 방법. 반복자라고도 함.

동적으로 크기가 변하면?

ArrayList의 기본 size는 10이고 10보다 더 많은 데이터를 넣는다면 동적으로 변하게 된다.

💡 Question: ArrayList는 어떻게 구현될까?

Thread Safety 하지 않다.

Thread Safety: 멀티 쓰레드 환경에서 변수, 함수와 같은 공유 자원에 여러 쓰레드가 동시에 접근해도 문제 없음을 뜻한다. lock을 통해 하는 듯 하다.
💡 Question: Thread Safety에 대해 자세히 알아보기
💡 Question: lock 알아보기 (세마포어)

ArrayList는 멀티 쓰레드 환경에서 Thread Safety하지 않기 때문에, 사용하려면 Collections.synchronizedCollection()를 이용하여 Thread Safety하게 한다.

profile
나무아래에 앉아, 코딩하는 개발자가 되고 싶은 박철현 블로그입니다.

0개의 댓글

관련 채용 정보