song.log

[자바 기술면접] 26. 리스트 컬렉션 - ArrayList, LinkedList, Vector 본문

StudyLog/Java interview

[자바 기술면접] 26. 리스트 컬렉션 - ArrayList, LinkedList, Vector

SingaKorean 2023. 4. 30. 14:43
반응형

- 정의

리스트 컬렉션(List Collection) : 자바에서 제공하는 리스트 컬렉션 인터페이스로 순서가 있는 데이터를 담는 자료구조입니다. 이 인터페이스를 구현한 구현체로 ArrayList, LinkedList, Vector등이 있습니다. 리스트 컬렉션은 데이터의 중복이 허용됩니다. 

 

ArrayList : 이름 그대로 배열을 이용하여 구현한 리스트입니다. 인덱스로 객체를 관리한다는 점에서 일반 배열과 유사하지만 데이터를 담는 크기를 동적으로 조절할 수 있다는 것에서 다릅니다. 데이터를 조회하는 것에 있어서 성능이 높으나 데이터를 추가, 삭제하는 것에 있어선 느린 편입니다.

 

LinkedList : 노드와 노드 사이의 참조를 통해 연결된 노드의 집합으로 이루어진 자료구조입니다. 순차적으로만 접근이 가능하기 때문에 조회에 사용하기엔 느립니다. 하지만 삽입과 삭제에는 용이하여 수정이 자주 이루어지는 작업에 쓰기 좋습니다. 

 

Vector : 인덱스로 관리하면서 동적으로 크기를 설정할 수 있다는 점에서 ArrayList와 유사하면서 동기화까지 가능한 자료구조입니다. 그렇기에 멀티 스레드 환경에서 안전하게 사용할 수 있습니다. 

 

- 영어 정리 : 

List Collection : It is a data structure provided by the List Collection interface in Java for storing ordered data. Implementations of this interface include ArrayList, LinkedList, and Vector.

 

ArrayList : As the name suggests, it is a list implemented using an array. It is similar to a regular array in that it manages objects by index, but different in that it can dynamically resize the data it contains. It is faster when retrieving data but slower when adding or deleting data.

 

LinkedList : It is a data structure consisting of a set of nodes connected by references between nodes. It can only be accessed sequentially, so it is slower for retrieval. However, it is easy to insert and delete data, making it ideal for frequent modification.

 

Vector : It is a data structure that is similar to ArrayList in that it is managed by index and can dynamically adjust its size. However, it also allows for synchronization, making it safe to use in a multi-threaded environment.

반응형
Comments