[Java] 컬렉션 프레임워크(2) - 컬렉션 프레임워크

sobam·2022년 9월 26일
0

자바

목록 보기
5/18
post-thumbnail

📔 학습한 내용을 정리하기 위해 작성하는 게시글입니다.

컬렉션(Collection)이란?


  • 동일한 타입을 묶어 관리하는 자료구조
  • 저장 용량을 동적으로 관리(배열과 구분되는 특징)

프레임워크(framework)란?


  • 클래스와 인터페이스의 모임(라이브러리)
  • 클래스의 정의에 설계 원칙 또는 구조가 존재

컬렉션 프레임워크(Collection framework)란?


  • 컬렉션 프레임워크란 컬렉션과 프레임워크가 조합된 개념으로, 리스트, 스택, 큐, 트리 등의 자료구조에 정렬, 탐색 등의 알고리즘을 구조화해 놓은 프레임워크
  • 여러 개의 데이터 묶음 자료를 효과적으로 처리하기 위해 구조화된 클래스 또는 인터페이스의 모음

컬렉션 프레임워크의 주요 인터페이스


  1. List 인터페이스
  2. Set 인터페이스
  3. Map 인터페이스

List와 Set 인터페이스는 Collection 인터페이스를 상속 받으나, 구조상의 차이로 인해 Map 인터페이스는 별도로 정의됨

인터페이스설명구현클래스
List<E>순서가 있는 데이터 집합, 순서 유지 O, 데이터 중복 OArrayList, LinkedList, Vector, Stack
Set<E>중복된 데이터가 제거되는 등 추가된 데이터의 순서가 유지되지 않는 데이터의 집합, 순서 유지 X, 데이터 중복 XHashSet, TreeSet
Map<K,V>          키(key)와 값(Value)으로 이루어진 데이터들의 집합, 키는 중복 허용 X, 값 중복 O / ex) 출석부 1번 홍길동, 2번 홍길동(동명이인)HashMap, TreeMap, Hashtable, Properties

컬렉션 프레임워크의 상속 구조



컬렉션 프레임워크의 이점


  • 별도로 컬렉션 클래스를 구현하는 것보다 구현되있는것을 사용함으로써 코딩 시간을 감소
  • 컬렉션 프레임워크들은 잘 테스트 되고 검증되어있기때문에 코드 품질을 보장
  • JDK에 포함된 컬렉션 프레임워크들을 사용하여 코드 유지보수 시간을 감소
  • 재사용 가능, 상호 운용성 보장


🔔 referance

<Do it! 자바 완전 정복>
<이재환의 자바 프로그래밍 입문>
http://www.tcpschool.com/java/java_collectionFramework_concept
https://techvidvan.com/tutorials/java-collection-framework/
https://www.javacodegeeks.com/2013/02/40-java-collections-interview-questions-and-answers.html
https://zrr.kr/ppZh

0개의 댓글

관련 채용 정보