티스토리 뷰

JAVA

[java] Array/List 차이

kiwiiiv 2021. 9. 12. 20:05

크게 다음과 같이 구분된다.

 

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
링크
«   2025/05   »
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
글 보관함