ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] Collection
    Programming/Java 2020. 3. 31. 23:03

     

     

    List Interface

    List Inteface 구조는 데이터가 저장된 순서를 보장하며, 중복된 데이터 저장이 가능하다.
    데이터를 저장하면 인덱스가 자동으로 부여되고 부여된 인덱스를 통해 데이터의 검색 및 삭제가 가능하다.
    선형적 구조를 갖는다.

     

    (1) ArrayList

    • 저장 용량 보다 많은 데이터가 들어오면 자동으로 용량이 늘어난다.
    • 중간에 데이터를 추가하거나 삭제할 경우에는 인덱스가 한 칸씩 뒤로 밀리거나 당겨진다.

     

    (2) LinkedList

    • LinkedList는 다음 데이터를 참조하는 포인터를 가지고 있다. 인접한 데이터를 링크하여 체인처럼 관리가 가능하다.
    • 중간에 데이터를 추가/삭제하는 경우에 링크만 변경하면 되기 때문에 처리 속도가 빠르다.

     

     

    (3) Vector

    • ArrayList와 동일한 구조를 갖는다.
    • Vector는 자동 동기화를 보장하므로 멀티스레드 환경에서 안정적인 사용이 가능하다.
    • 싱글스레드 환경에서는 ArrayList가 성능이 더 좋다.

     

    Queue Interface

    Queue Interface 구조는 FIFO(First In First Out)대로 순서에 따른 자료의 입출력을 보장하는 자료구조이다.

     

    (1) PriorityQueue

    • PriorityQueue는 BIFO(Best In First Out) 구조로 우선순위를 결정하여 들어온 순서와 상관없이 우선순위가 높은 데이터가 먼저 나간다.

     

    (2) ArrayDeque

    • Dynamic Array를 이용한 Deque(Double-Ended Queue)
    • 저장 용량 보다 많은 데이터가 들어오면 자동으로 용량이 늘어난다.
    • 어떻게 사용하느냐에 따라 큐와 스택이 모두 될 수 있다.

     

    Set Interface

    Set Interface 구조는 데이터의 순서를 보장하지 않으며 중복을 허용하지 않는 자료구조이다.

     

    (1) HashSet

    • HashSet은 Set 컬렉션을 구현하는 대표적인 클래스이다.
    • Set 중 가장 높은 성능을 보인다.
    • 데이터를 중복 저장 x, 순서 보장 x

     

     

    (2) LinkedHashSet

    • LinkedHashSet은 입력된 순서대로 데이터를 관리한다.
    • 데이터 중복 저장 x, 순서 보장 o

     

     

    (3) TreeSet

    • TreeSet은 기본적으로 오름차순으로 데이터를 정렬하여 저장한다.
    • HashSet 보다는 성능이 느리다.
    • 데이터 중복 저장 x

     

     

    출처

    - https://medium.com/@logishudson0218/java-collection-framework-896a6496b14a

    - https://blog.naver.com/heartflow89/220989831899

     

    'Programming > Java' 카테고리의 다른 글

    [Java] 객체타입 Set  (0) 2020.09.10
    [Java] StringBuilder class 함수  (0) 2020.07.03
    [Java] 토막글  (0) 2020.03.11
    [Java] Hash, HashMap  (0) 2019.12.31
    [Java] String 함수  (0) 2019.11.15

    댓글

Designed by Tistory.