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 |