[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개의 댓글