코드스테이츠_국비교육/[Section1]

16.07_컬렉션 프레임워크[개요]_22.09.13

생각없이 해도 생각보다 좋다. 2022. 9. 15. 21:38

학습키워드

  • 컬렉션 프레임워크
  • 주요 인터페이스와 컬렉션 클래스의 핵심 메서드

 

자료 구조

>의미

: 데이터가 저장되고 관리되는 구조

: 데이터의 추가, 검색 ,삭제가 가능해야함.

>예시

: stack(프링글스통), Queue(선입선출), tree(트리형 연결 구조) 등

 

컬렉션 프레임워크

>컬렉션 의미

: 여러 데이터들의 집합

>컬렉션 프레임워크 의미

: 컬렉션을 편리하기 다루기 위해 미리 메서드를 정의해놓은 것

: 자주 사용되는 자료 구조들을 편리하게 사용할 수 있게 미리 구현해 둔 것.

>주요 인터페이스 (3종)

그림 01. 컬렉션 프레임워크 구조

  • List

: 데이터의 순서가 유지되는 컬렉션을 구현함.

: 데이터 중복 저장 가능

: ArrayList, Vector, Stack, LinkedList 등

  • Set

: 데이터의 순서가 유지되지 않는 컬렉션을 구현함.

: 데이터 중복 저장이 불가능

: HashSet, TreeSet 등

  • Map

: key(키)와 value(값)의 쌍으로 데이터를 저장하는 컬렉션을 구현함.

: 데이터 순서는 유지되지 않음.

: 키는 중복 저장이 불가능함 (값의 식별을 위해서)

: 값은 중복 저장이 가능함

: HashMap, HashTable, TreeMap, Properties 등

>Collection 인터페이스

: List 인터페이스와 Set 인터페이스의 공통점을 추출하여 추상화시킨 인터페이스.

>Collectors 클래스

: Arrays 클래스는 배열(array)을 사용할 때 유용한 메서드를 제공하는 클래스이다.

: Arrays처럼 컬렉션 프레임워크를 사용할 때 유용한 메서드를 제공하는 클래스이다.

Iterator<>

>의미 및 특징

: 컬렉션에 저장된 요소들을 순차적으로 읽어오는 기능을 하는 인터페이스

: Collection 인터페이스는 Iterator 인터페이스를 구현한다. (따라서 List, Set 인터페이스 또한 Iterator 인터페이스를 구현한

다.)

>iterator( ) 메서드

: Iterator 인터페이스를 구현한 클래스의 인스턴스를 반환하는 메서드

: iterator( ) 메서드를 통해 만들어진 인스턴스는 hasNext(), next(), remove() 메서드를 사용할 수 있다.

>Interator의 사용

  • .iterator()

: public Iterator<E> iterator() { return new Itr(); }

: Colletionr가 갖는 메서드

: 해당 컬렉션을 Iterator<E> 참조형 값으로 반환함.

  • .hasNext()

: boolean hasNext();

: Iterator가 갖는 메서드

: 다음 Iterater 요소가 있는지 확인하고 boolean 값으로 반환.

: 주로 반복문 조건식에 사용.

  • .next()

: E next();

: Iterator가 갖는 메서드

: 다음 Iterater 요소를 반환함.

: 주로 반복문 바디에 사용.

  • .remove()

: default void remove() { throw new UnsupportedOperationException("remove"); }

: Iterator가 갖는 메서드

: 해당 객체를 Collection에서 제거함.