프로그래밍/study

Array / List

jay.den 2019. 9. 11. 11:55
728x90

Array

  • 인덱스(Index)를 통해 데이터에 접근하는 것이 특징.
  • 데이터 접근이 용이하다(Index로 바로 접근)
  • 크기가 고정되어 있기때문에 데이터 추가/삭제가 어렵다.
  • 빈 엘리먼트가 허용된다.
  • 중복 엘리먼트가 허용된다.

List

  • 순서(Sequence)가 있는 엘리먼트의 모임.
  • 열거(Enumerate)하여 값을 찾아 데이터 접근이 불편하다.
  • 크기가 고정되어 있지 않기때문에 데이터 추가/삭제가 용이하다.
  • 빈 엘리먼트는 허용하지 않는다(값에 Null을 넣을수는 있음).
  • 중복 엘리먼트는 허용한다.

ArrayList

  • 자바에서 제공하는 Array와 List의 장점을 모두 가진 자료구조.
  • 인덱스를 사용하여 데이터에 접근이 가능한 Array의 장점.
  • add, get API를 통해 자료의 추가 삭제가 가능한 List의 장점.
  • 하지만 실질적으로 Array기반이므로 데이터 추가 삭제시 임시배열을 만들어 데이터 복사를 하기 때문에 추가/삭제 작업이 많은 경우 효율이 좋지않다.

공통

  • 동기화(Synchronous)되지 않기 때문에 Thread Safe하지 않다(여러 쓰레드가 동시에 접근할 경우 문제가 발생할 수 있다.).

'프로그래밍 > study' 카테고리의 다른 글

Stack / Queue  (0) 2019.09.11
HTTP  (0) 2019.09.11
프로그램, 프로세스, 스레드  (0) 2019.09.11
[OS]가상메모리  (0) 2019.09.11
[OS]context switching  (0) 2019.09.11