Language/Java

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

ozofweird 2020. 6. 30. 03:47

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