[Java] 자료구조, 컬렉션 프레임 워크 (1)

2020. 6. 30. 03:47Language/Java

1. 자료구조

1) Array, Linked List

Array를 구현한 JDK는 ArrayList, Vector 라이브러리 제공한다. Linked List를 구현한 JDK는 LinkedList 라이브러리 제공한다.

Array, Linked List

2) Stack, Queue

Stack은 LIFO, top, push/pop으로, Queue는 FIFO, front/rear, inqueue/dequeue로 동작한다.

Stack, Queue

3) Hash

검색을 위한 자료구조이다. 산술연산으로 속도가 빠르며, hash 함수에 Key에 해당하는 값을 주게 될 경우 index 값을 반환한다.

Hash

4) Binary Tree

Parent 하위에 Child가 2개보다 작거나 같다. BST(Binary Search Tree)의 경우 각 노드는 데이터가 중복될 수 없으며 비교 조건에 따라 결정된다.

BST

 

 

 

2. 컬렉션 프레임 워크

프로그램 구현에 필요한 자료구조와 알고리즘을 구현해 놓은 라이브러리이다. java.util 패키지에 구현되어 있다. 개발에 소요되는 시간을 절약하고 최적화된 라이브러리를 사용할 수 있다. Collection 인터페이스와 Map 인터페이스로 구성되어있다.

1) Collection 인터페이스

하나의 객체의 관리를 위해 선언된 인터페이스로 필요한 기본 메서드가 선언되어 있다. 하위에 List, Set 인터페이스가 있다.

Collection 인터페이스 도식화

인터페이스 설명
List - 순서가 있는 자료 관리, 중복 허용
- 이 인터페이스를 구현한 클래스는 ArrayList, Vector, LinkedList, Stack, Queue 등이 있음
Set - 순서가 정해져 있지 않음, 중복을 불허
- 이 인터페이스를 구현한 클래스는 HashSet, TreeSet등이 있음

2) Map 인터페이스

쌍으로 이루어진 객체를 관리하는데 필요한 여러 메서드가 선언되어 있다. Map을 사용하는 객체는 Key-Value 쌍으로 되어 있고 Key는 중복 될 수 없다.

Map 인터페이스 도식화

 

728x90