[Java] 자료구조, 컬렉션 프레임 워크 (1)
2020. 6. 30. 03:47ㆍLanguage/Java
1. 자료구조
1) Array, Linked List
Array를 구현한 JDK는 ArrayList, Vector 라이브러리 제공한다. Linked List를 구현한 JDK는 LinkedList 라이브러리 제공한다.
2) Stack, Queue
Stack은 LIFO, top, push/pop으로, Queue는 FIFO, front/rear, inqueue/dequeue로 동작한다.
3) Hash
검색을 위한 자료구조이다. 산술연산으로 속도가 빠르며, hash 함수에 Key에 해당하는 값을 주게 될 경우 index 값을 반환한다.
4) Binary Tree
Parent 하위에 Child가 2개보다 작거나 같다. BST(Binary Search Tree)의 경우 각 노드는 데이터가 중복될 수 없으며 비교 조건에 따라 결정된다.
2. 컬렉션 프레임 워크
프로그램 구현에 필요한 자료구조와 알고리즘을 구현해 놓은 라이브러리이다. java.util 패키지에 구현되어 있다. 개발에 소요되는 시간을 절약하고 최적화된 라이브러리를 사용할 수 있다. Collection 인터페이스와 Map 인터페이스로 구성되어있다.
1) Collection 인터페이스
하나의 객체의 관리를 위해 선언된 인터페이스로 필요한 기본 메서드가 선언되어 있다. 하위에 List, Set 인터페이스가 있다.
인터페이스 | 설명 |
List | - 순서가 있는 자료 관리, 중복 허용 - 이 인터페이스를 구현한 클래스는 ArrayList, Vector, LinkedList, Stack, Queue 등이 있음 |
Set | - 순서가 정해져 있지 않음, 중복을 불허 - 이 인터페이스를 구현한 클래스는 HashSet, TreeSet등이 있음 |
2) Map 인터페이스
쌍으로 이루어진 객체를 관리하는데 필요한 여러 메서드가 선언되어 있다. Map을 사용하는 객체는 Key-Value 쌍으로 되어 있고 Key는 중복 될 수 없다.
728x90
'Language > Java' 카테고리의 다른 글
[Java] 자료구조, 컬렉션 프레임 워크 (3) (0) | 2020.07.01 |
---|---|
[Java] 자료구조, 컬렉션 프레임 워크 (2) (0) | 2020.07.01 |
[Java] 제네릭 프로그래밍 (0) | 2020.06.30 |
[Java] String, Wrapper 클래스 (0) | 2020.06.30 |