티스토리 뷰
크게 다음과 같이 구분된다.
Array
List -(ArrayList, LinkedList, Vector)
Array(배열)
- 연속된 메모리 공간
- <인덱스> 통하여 검색, 접근이 가능
- 길이가 고정되어 있어, 컴파일 이후에는 바꿀 수 없음
(연속적으로 메모리 상에 존재하여,
중간에 값을 추가할 때 메모리의 값들을 수정하므로 속도 저하가 야기됨.)
List
- 순서가 있는 엘리먼트의 모임
- 빈틈없는 데이터의 적재(빈 엘리먼트 허용x)
- 불연속적으로 메모리 공간을 차지함 -> 포인터를 통하여 접근
ArrayList
- 연속적으로 메모리 상에 존재
- 동적으로 크기를 관리한다는 배열과의 차이점이 있음
- Object element에 대하여만 원소로 가질 수 있음
LinkedList
- 노드 간의 연결을 통하여 리스트로 구현
- 인덱스 x
Vector
- ArrayList와 동일한 내부 구조를 가짐
- synchronized method를 사용한다는 ArrayList와의 차이점 있음(Thread safe)
멀티 스레드 환경에서 안전하게 객체를 추가, 삭제할 수 있음
따라서 추가, 삭제 과정이 상대적으로 느릴 수 있음
+
List는 Generic(일반) 타입으로, 특정 타입(ArrayList, LinkedList,,)을 데이터의 용도에 따라 동적으로 지정할 수 있다.
[자료구조]Array와 List(그리고 Java List) (velog.io)
[자료구조]Array와 List(그리고 Java List)
Array와 List 그리고 자바의 Collection
velog.io
JAVA) List 와 ArrayList 차이 :: 알면 쓸모있는 개발 지식 (tistory.com)
JAVA) List 와 ArrayList 차이
문득 List와 ArrayList의 차이점이 궁금해서 검색을 해봤습니다. List = 인터페이스 ArrayList = 클래스 List는 interface다. interface는 공통되는 메소드를 추출해 놓은 클래스로 생각하면 된다. 즉 범위로 생
yoon-dailylife.tistory.com
'JAVA' 카테고리의 다른 글
Map 을 정렬된 ArrayList로 변환 (0) | 2021.11.06 |
---|---|
[java 8] stream (0) | 2021.10.20 |
[java] Array/List 에서 값 검색하기 (0) | 2021.09.12 |
[java] 문자열 뒤집기 (0) | 2021.09.12 |
[java] 정렬하기 (Comparable, Comparator) (0) | 2021.09.09 |
- Total
- Today
- Yesterday
- HashSet
- 분할 정복
- Segment Tree
- 백트래킹
- 페르마의 정리
- prirotyqueue
- LowerBound
- Priority Queue
- dp
- 비트마스킹
- 배낭 문제
- 구간 합
- MaxHeap
- 참조 지역성
- dfs
- 동적계획법
- 완전탐색
- 누적 합
- 분할정복
- RequiredArgsConstructor
- Sort
- 최단 거리
- Greedy
- MinHeap
- Knapsack
- 부분 합
- 이분탐색
- 희소 배열
- 위상 정렬
- 완전 탐색
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |