본문 바로가기

STUDY/Java

Java | 컬렉션 프레임워크 Collection Framework ( List / Set / Map )

 컬렉션은 객체를 수집해서 저장하는 역할을, 프레임워크는 사용방법을 미리 정해놓은 라이브러리를 말합니다. 자바의 컬렉션 프레임워크는 인터페이스를 통해 다양한 컬렉션 클래스를 이용할 수 있도록 합니다.

 

 컬렉션 프레임워크는 아래 그림과 같이 계층구조로 구성되어있습니다. Collection이라는 가장 상위 인터페이스를 상속받는 List, Set, Queue가 있으며, Map은 key와 value값을 하나의 쌍으로 묶어 관리하는 구조로 되어있기 때문에 Collection인터페이스와 별도로 정의됩니다.

 

https://www.programiz.com/java-programming/collections

 

1. List 

 List는 객체를 일렬로 늘어놓은 구조를 가지고 있으며 객체를 인덱스로 관리하기 때문에 인덱스로 객체를 검색, 삭제할 수 있습니다. Collection인터페이스를 상속받기 때문에 Collection인터페이스의 모든 메서드들을 포함하고 있습니다.

 

List인터페이스의 구현 클래스들
Stack클래스는 Vector클래스를 상속받는다.

 

 

2. Set 

 Set인터페이스는 List와 같이 Collection인터페이스를 상속받습니다. 하지만 List는 중복을 허용하고 인덱스를 통해 객체를 관리하는 반면, Set은 중복을 허용하지 않으며 인덱스를 사용하지 않습니다(순서대로 관리하지 않음).  

(+) Set은 인덱스가 없기 때문에 전체 객체를 대상으로 한 번씩 반복해서 가져오는 반복자(Iterator)를 제공함.

 

 

3. Map 

 Map은 key와 value를 짝을 이뤄 객체를 저장하는 구조를 가지고 있습니다. key와 value모두 객체이며 key는 중복 저장될 수 없지만 value는 중복 저장될 수 있습니다. 또한 (인덱스 관리가 아니므로) 저장순서를 유지하지 않기 때문에 객체 관리는 key를 통해 하게됩니다. 

 

 

 

 

 

 

+) 참고

 

Lesson: Introduction to Collections (The Java™ Tutorials > Collections)

The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See JDK Release Notes for information about new fe

docs.oracle.com

 

 

Java Collections Framework

The Java collections framework provides a set of interfaces and classes to implement various data structures and algorithms. For example, the LinkedList class of the collections framework provides the implementation of the doubly-linked list data structure

www.programiz.com

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com