Post

자바 기본9 - Collection Framework 2

컬렉션 프레임워크

LinkedList

  • 배열과 달리 불연속적으로 존재하는 데이터를 연결한다.
  • dooubly linked list, doubly circular linked list : 데이터 접근성을 향상시킨 구조
  • 순차적인 데이터 추가/삭제는 ArrayList가 빠르지만 비순차적은 LinkedList가 빠르다.
  • 접근시간이 ArrayList에 비해 느리고 데이터가 많을수록 접근성이 떨어진다.

스택과 큐

  • 스택 : LIFO구조. 마지막에 저장된 것을 제일 먼저 꺼낸다.
  • : FIFO구조. 제일 먼저 저장한 것을 제일 먼저 꺼낸다.
  • : 스택과 큐의 결합. 양끝에서 저장과 삭제가 가능하다.

Enumeration, Iterator, ListIterator

  • Enumeration은 Iterator의 구버전 이다.
  • 컬렉션에 저장된 데이터를 접근 하는데 사용되는 인터페이스다.
  • ListIterator는 Iterator의 접근성을 향상 시킨 것이다. (단방향->양방향)
  • Iterator 구현체 : hasNext(), next(), remove(), forEachRemaining()
  • ListIterator 구현체 : hasNext(), hasPrevious(), next(), previous(), nextIndex(), previousIndex(), add(), remove(), set()

Arrays

  • 배열을 다루기 편리한 메서드 제공한다.
  • 배열의 출력 : toString()
  • 다차원 배열의 비교와 출력 : deepEquals(), deepToString(), equals()
  • 배열의 복사 : copyOf(), copyOfRange()
  • 배열 채우기 : fill(), setAll()
  • 배열을 List로 변환 : asList()
  • 배열의 정렬과 검색 : sort(), binarySearch()

Comparator와 Comparable

  • Comparable : 기본 정렬기준을 구현하는데 사용한다.
  • Comparator : 기본 정렬기준 외에 다른 기준으로 정렬하고자 할 때 사용한다.
  • compare() : 두 객체를 비교한다.
  • compareTo : 주어진 객체를 자신과 비교한다.
This post is licensed under CC BY 4.0 by the author.