[자바 – Java] 컬렉션 프레임워크 인터페이스 List Set Map Iterator

1. 자료구조 (data structure)

 

1) 프로그램에서 사용할 많은 데이터를 메모리 상에서 관리하는 여러 구현 방법들이다.

2) 효율적인 자료구조가 성능 좋은 프로그램의 기반이다.

3) 자료의 효율적인 관리는 프로그램의 수행 속도와 밀접한 관련이 있다.

4) 자료구조에 대한 이해가 중요하다.

2. 자료구조 종류

 

1) 선형 자료구조 : 한 줄로 자료를 관리하기

배열(Array)

– 정해진 크기의 메모리를 먼저 할당받아 사용
– 자료의 물리적 위치와 논리적 위치가 같음

-연결 리스트 (LinkedList)

– 선형으로 자료를 관리
– 자료가 추가될 때 마다 메모리를 할당 받고, 자료는 링크로 연결됨
– 자료의 물리적 위치와 논리적 위치가 다를 수 있음

3. 트리(Tree)

 

– 부모 노드와 자식 노드간의 연결로 이루어진 자료구조다.

– 이진 트리 (binary tree) : 부모 노드에 자식 노드가 두 개 이하인 트리 형태이다.

– 자료의 중복을 허용하지 않는다.

– 왼쪽 자식 노드는 부모 노드보다 작은값, 오른쪽 자식 노드는 부모노드보다 큰 값을 가진다.



4. 컬렉션 프레임워크 (Collection Framework)

 

1) 자바에서 제공되는 data structure 구현 클래스들이다.

2) 프로그램 구현에 필요한 자료구조를 구현해 놓은 JDK라이브러리이다.

3) java.util 패키지에 구현되어 있다.

4) 최적화된 알고리즘을 사용할 수 있다.

5) 활용에 대한 이해가 필요하다.



5. 컬렉션 인터페이스 (Collection Interface)

 

1) 하나의 객체를 관리하기 위한 메서드가 선언된 인터페이스이다.

2) 하위의 List와 Set 인터페이스가 있다.



6. List 인터페이스

 

1) 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스이다.

2) 자료구조 리스트의 구현을 위한 인터페이스이다.

3) 중복을 허용한다.

4) ArrayList, LinkedList, Stack, Queue, Vector 등이 있다.



7. Set 인터페이스

 

1) 순서와 관계없이 중복을 허용하지 않고 유일한 값을 관리하는데 필요한 메서드가 선언되어있다.

2) 아이디, 주민번호, 사번 등 관리하는데 유용하다.

3) 저장된 순서와 출력되는 순서는 다를 수 있다.

4) HashSet, TreeSet 등



8. Map 인터페이스

 

1) 쌍(pair)으로 이루어진 객체를 관리하는 데 사용하는 메서드들이 선언된 인터페이스이다.

2) 객체는 key-value의 쌍으로 이루어져 있다.

3) key는 중복을 허용하지 않는다.

4) HashTable, HashMap, Properties, Treemap 등