자바(Java) 컬렉션

유필선·2024년 3월 18일
0

자바(Java)

목록 보기
16/20
post-thumbnail

컬렉션(collection)이란?

많은 수의 데이터를 그 사용 목적에 적합한 자료구조로 묶어 하나로 그룹화한 객체를 말한다. 자바에서는 이러한 컬렉션을 위한 인터페이스와 클래스들이 있으며 자주 사용되는 클래스들의 종류와 상속 계층도는 아래와 같다.

컬렉션 관계도

컬렉션 인터페이스의 주요 메서드

컬렉션 인터페이스의 특징

  1. List : 이름과 같이 목록처럼 데이터를 순서에 따라 관리한다.
    • LinkedList
      -양방향 포인터 구조로 데이터의 삽입, 삭제가 빈번할 경우 데이터의 위치정보만 수정하면 되기에 유용하다.
      -스택, 큐, 양방향 큐 등을 만들기 위한 용도로 쓰임
    • Vector
      -과거에 대용량 처리를 위해 사용했으며, 내부에서 자동으로 동기화처리가 일어나 비교적 성능이 좋지 않고 무거워 잘 안쓰임.
    • ArrayList
      -단방향 포인터 구조로 각 데이터에 대한 인덱스를 가지고 있어 조회 기능에 성능이 뛰어남
  1. Set : 중복이 허용되지 않는 데이터를 관리한다.

    • HashSet
      -가장빠른 임의 접근 속도
      -순서를 예측할 수 없음
    • TreeSet
      -정렬방법을 지정할 수 있음
  2. Map : 데이터를 Key와 Value로 짝을 이루어 관리하며, Key값은 중복을 허용하지 않는다.

    • Hashtable
      -HashMap보다는 느리지만 동기화 지원
      -null불가
    • HashMap
      -중복과 순서가 허용되지 않으며 null값이 올 수 있다.
    • TreeMap
      -정렬된 순서대로 키(Key)와 값(Value)을 저장하여 검색이 빠름
  • Queue : 데이터 In/Out 순서를 FIFO 방식으로 관리한다.(FIFO : First In First Out)
  • Stack : 데이터 In/Out 순서를 LIFO 방식으로 관리한다.(LIFO : Last In First Out)
profile
이해해버려라!

0개의 댓글