컬렉션 프레임워크

지윤·2021년 2월 11일
0

Java

목록 보기
13/21

컬렉션: 여러 객체(데이터)를 모아 놓은 것을 의미
프레임워크: 표준화, 정형화된 체계적인 프로그래밍 방식

컬렉션 프레임워크

  • 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식
  • 배열의 문제점을 해결하고 자료구조를 바탕으로 객체(데이터)를 효율적으로 관리(추가, 삭제, 검색, 저장)할 수 있도록 한 것
  • 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공

컬렉션 프레임워크 핵심 인터페이스

  • List: 순서가 있는 데이터의 집합, 데이터 중복 허용
  • Set: 순서가 없는 데이터의 집합, 데이터 중복 허용하지 않음
  • Map: 키(key)와 값(Value)의 쌍(Pair)으로 이루어진 데이터의 집합, 순서는 없으며, 키는 중복을 허용하지 않고 값은 중복을 허용

Map 인터페이스는 구조상의 차이(Key-Value)로 인해 Collection 인터페이스를 상속받지 않고 별도로 정의된다.

컬렉션 프레임워크에 대한 더 자세한 설명은 아래 블로그 참고


Iterator, ListIterator, Enumeration

  • 컬렉션에 저장된 데이터에 접근하는데 사용되는 인터페이스
  • 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것
  • 컬렉션에 iterator()를 호출해서 Iterator을 구현한 객체를 얻어서 사용한다. Collection 인터페이스 내에 iterator()메소드가 있다.
  • ListIteration(양방향)은 Iteraton(단방향)을 향상시킨 것
  • Enumeraton은 Iteration 구버전
List list = new ArrayList(); //다른 컬렉션으로 얼마든지 변경 가능
Iterator it = list.iterator();

while(it.hasNext()){ //다음 요소가 있는지 체크
	System.out.println(it.next()); //요소 반환
}
  • 메서드
    - boolean hasNext()
    - Object next()
    - void remove()
    - void forEachRemaining
  • Map은 Collection 인터페이스를 구현받지 않아서 iterator()가 없으므로 keySet(), entrySet(), values()를 통해서 iterator()을 호출할 수 있다.
profile
헬로🙋‍♀️

0개의 댓글

관련 채용 정보