Java

[JAVA] Collection Framework

MOVE🔥 2020. 3. 16. 19:52
728x90
반응형

Collection Framework란

공통적으로 재사용 가능한 수집 데이터 구조를 구현한 클래스 및 인터페이스의 집합

쉽게 말해서 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합 이라고 볼 수있다.

 

핵심 인터페이스에는 List, Set, Map이 있다.

 

그렇다면 사용할 collection 인터페이스를 정할 때는 무엇을 고려하는게 좋을까

    • 중복을 허용하는가?
    • 순서가 존재 하는가? (혹은 정렬기능이 필요한가?)
    • 삽입/삭제가 빈번 한가?
    • 데이터의 크기는 얼마나 되는가?
    • 속도를 최우선으로 할것인가?

 

List

  • 순서가 있는 집합
  • 중복을 허용한다.
  • ArrayList
    • 순차적으로 삽입하고 삭제하는 것은 빠르지만, 중간 삭제/삽입이 오래걸린다.
  • LinkedList
    • 중간 삭제/삽입은 오래걸리지 않으나, 접근 시간이 길다

Set

  • 순서가 없는 집합
  • 중복을 허용하지 않는다.
  • HashSet
    • 속도가 굉장히 빠르담

Map

  • 연관배열 구조(associative array) 하나
  • Key-Value 쌍으로 이루어져 있다.
  • 키는 중복 불가능, 값은 중복 가능하다
  • HashMap
    • 많이 사용, 속도가 빠르다

 

collection의 주요 메소드

Comparator, Comparable

    • 컬렉션을 정렬하는데 필요한 메서드 (compareTo 같은 메서드 사용)
    • 메서드를 오버로드해서 정렬 기준을 변경 있다.

 

 

728x90
반응형