728x90

Collections framework

컬렉션을 다루기 위한 표준화된 프로그래밍 방식

컬렉션이란 ?

-여러 객체(데이터) 를 모아 놓은 것을 의미

 

프레임워크 계층도

자바의 컬렉션 프레임워크는 java.util 패키지에 인터페이스와 추상 클래스로 구성된 복잡한 계층으로 되어 있다. 빈번히 사용되는 클래스 위주로 정리해 보면 다음과 같다

 

컬렉션 프레임웍의 핵심 인터페이스

 

1. List

순서(저장순서) 가 있는 데이터의 집합. 데이터의 중복을 허용한다

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

 

2. Set

순서를 유지하지 않는 데이터의 집합. 데이터의 중복을 허용하지 않는다 > 집합의 성질

  • HashSet
    - 가장빠른 임의 접근 속도
    - 순서를 예측할 수 없음
  • TreeSet
    - 정렬방법을 지정할 수 있음

 

3. Map

키와 값 쌍으로 이로어진 데이터의 집합

순서는 유지되지 않으며, 키는 중복을 허용하지 않고 값은 중복을 허용한다

  • Hashtable
    - HashMap보다는 느리지만 동기화 지원
    - null불가
  • HashMap
    - 중복과 순서가 허용되지 않으며 null값이 올 수 있다.
  • TreeMap
    - 정렬된 순서대로 키(Key)와 값(Value)을 저장하여 검색이 빠름

 

인터페이스 메서드 : 추가 / 삭제/ 검색이 가능하다

728x90

'JAVA' 카테고리의 다른 글

JAVA : substring 문자열 자르기  (0) 2023.08.16
JAVA : charAt() 사용법  (0) 2023.08.16
JAVA : 객체 지향 언어의 특징 & 장점, 단점  (0) 2023.05.26
JAVA : try catch 예외처리  (0) 2022.05.12
JAVA : 클래스, 클래스 구성요소  (0) 2021.07.09

+ Recent posts