컬렉션 프레임웍

업데이트:

컬렉션 프레임웍

컬렉션

  • 여러 객체를 모아 놓은 것을 의미

프레임웍

  • 표준화, 정형화된 체계적인 프로그래밍 방식

컬렉션 프레임웍

  • 컬렉션(다수의 객체)를 다루기 위한 표준화된 프로그래밍 방식
  • 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공
  • java.util 패키지에 포함

컬렉션 클래스

  • 다수의 데이터르 저장할 수 있는 클래
  • Vector, ArrayLst, HashSet …

List

순서가 있는 데이터의 집합, 중복을 허용한다.

ArrayList

  • 기존의 Vecotr를 개선함
  • 동기화가 되지 않음
  • 배열기반으로 데이터를 저장한다.
  • 데이터 입력 및 삭제시 데이터 를 한칸씩 이동해서 복사한다.

LinkedList

  • 불연속적으로 존재하는 데이터를 연결(link)
  • 링크로 연결되어 있고 연속적이지 않아 데이터를 찾을때 처음부터 찾아서 오래걸린다.
  • 삭제 및 추가는 빠름, 연결만 변경하면됨
  • 더블리 링크드 리스트
    • 이중 연결 리스트로 링크드 리스트는 앞으로만 간다면 더블리는 양쪽으로 갈 수 있다.
    • 접근성을 향상
  • 이중 원형 연결 리스트
    • 마지막 값과 처음 값을 연결한다.
    • 처음에서 끝으로 갈때 순차적으로 가는게 아닌 바로 갈 수 있다.

Set

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

HashSet

  • set 구현객체
  • 순서를 유지하고 싶으면 LinkedHashSet 사용하면됨

TreeSet

  • 이진탐색 트리로 구현, 범위 검색과 정렬에 유리함
  • 데이터 추가, 삭제에 시간이 더 걸림

Stack, Que

Stack

  • 마지막에 저장된 것을 제일 먼저 꺼낸다, LIFO
  • 배열을 가지고 만드는게 유리함
  • DFS 에서 사용됨
  • push : 저장
  • pop : 추출

Que

  • 제일 먼저 저장한 것을 제일 먼저 꺼내게 된다.
  • 링크드 리스트로 사용하는 것이 유리함
  • BFS 에서 사용됨
  • offer : 저장
  • poll : 추출

Map

key, value의 쌍으로 이루어진 데이터의 집합, 순서는 유지되지 않으며 key는 중복을 허용하지 않고 value는 중복을 허용한다.

\

태그:

카테고리:

업데이트:

댓글남기기