본문 바로가기
Java

[ Java ] List Collection

by 중곰 2021. 6. 24.

Java 에서 List Collection을 잃어버리지 않도록 정리하기 위해 적어봅니다.

 

List 란
- Collection 인터페이스를 확장한 자료형으로 동일한 데이터의 중복 입력이 가능하며, 순차적이고 다량의 데이터를 입력할 때 주로 사용
- 특징 : 순서가 있는 데이터의 집합. 데이터의 중복을 허용한다.
- 종류 : Arraylist, Vector, Linkedlist

List의 상속 계층도

특징

  • ArrayList
    - 배열 
    - 싱글 스레드에 적합 (동기화 필요한 경우 Collections.synchronizedList() 사용)
    - 설정된 저장 용량보다 크기 넘을 경우, 배열 크기를 1.5배 증가
    - 데이터 추가/삭제 시 인덱스 값 유지 위해 전체 객체 위치가 이동
    - 잦은 추가/삭제 시 LinkedList 사용하는게 좋음

    - 생성 방법 :
                                        List<E> 객체명 = new ArrayList<E>([초기 저장용량]);
  • Vector
    - 배열 (Arraylist와 동일한 구조)
    - 자동 동기화 보장하여, 다중 스레드에 적합 (동기화 제공)
    - 설정된 저장 용량보다 크기 넘을 경우, 배열 크기를 2배 증가

    - 사용 방법 : 
                                      List<E> list = new Vector<e>([초기용량,</e> 증가용량]);
  • LinkedList
    - 연결리스트로 불림. 노드간에 연결을 통해 리스트로 구현된 객체
    - 다음 노드의 위치 정보만 가지고 있어, 인덱스를 가지고 있지 않기 때문에 탐색 시 순차접근만 가능
      (탐색 시 시간 많이 소요)
    - 추가/삭제 시 위치 정보의 수정만으로 가능하여 성능 좋음

    - 사용 방법 :
                                    List<E> list = new LinkedList<E>();

 

* 참고자료


https://17billion.github.io/java/2017/06/18/java_collection_vector_arraylist_linkedlist.html

 

JAVA collection : List(vector, arraylist, linkedlist) 소개 및 특징

여러 요소의 그룹을 하나의 단위로 엮는 객체이고 다양한 인터페이스를 제공합니다. 주로 집계 데이터를 저장, 검색, 수정 및 전달하는 데 사용됩니다. - List란 Collection 인터페이스를 확장한 자

17billion.github.io

https://oper6210.tistory.com/35

 

[JAVA 자바] Collection-List- (ArrayList, Vector, LinkedList)

List 컬렉션  이전 포스팅에서 설명하였 듯이 List 컬렉션은 인덱스 순서로 저장이 되며, 중복된 데이터가 저장이 가능하다. 구조적으로 데이터를 일렬로 늘여놓는 구조를 갖는다. 객체(데이터

oper6210.tistory.com

 

반응형