자료구조

- "자료를 저장할 수 있는 구조"를 말합니다.

 

 

 


 

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

책을 보관한다고 해서 "책장"을 이용을 하는 방법을 하실 겁니다.

이런 것처럼 다양한 자료들을, 다양한 방식으로 관리하기위한 방법이 필요합니다.

이러한 방법을 제공하는 것을 

Collection Framework(컬렉션 프레임워크)라고 합니다.

 

 

 

 

 


 

 

 

Collection Framework(컬렉션 프레임워크)에서 가장 기본이 되는 것은

"Collection인터페이스"

입니다.

 

 

 

 


 

 

 

"Collection인터페이스"라는 것은 여기에 자료가 있다라는 것을 표현을 합니다.

- 중복 허용

- 자료가 저장되는 순서도 기억을 못합니다.

 

 

 

 

 


 

 

 

"Collection인터페이스"가 가지고 있는 대표적인 메소드입니다.

add() -> 컬렉션의 메소드를 추가해주는 메소드 


iterator() -> 자료를 하나씩 꺼내기위한 "iterator인터페이스"를 반환하는 메소드 

 

size()  -> 저장되어 있는 수를 반환해주는 메소드

 

 

Collection은  저장된 순서를 기억하지 못 하기 때문에,

첫번째 자료를 달라고, 두번째 자룔르 달라고, 하는 기능은 할 수가 없습니다.!!!

 

 

 

 


 

 

 

 

Collection은 저장되어 있는 메소드를 하나씩 하나씩 꺼낼 수 있는 "Iterator인터페이스" 반환을 합니다.

 

hasNext()   ->  꺼낼 것이 있는지 없는지,

살펴보는 메소드

(있으면 true 반환, 없으면 false 반환)

 

 

next()  ->  하나씩 자료를 꺼낼 때, 사용하는 메소드

 

 

 

 

 

 


 

 

 

 

"Set 자료구조"

- "Set 자료구조"는  중복을 허용하지 않는 인터페이스 입니다.

- 중복 없음.

- 순서 없음.

- "Set 인터페이스"는 "Collection 인터페이스"를 상속 받고 있습니다.

 

 

add() ->

1. 값 추가 하는 거

2. 같은 자료가 있으면, false 반환 해줍니다.

3. 같은 자료가 없으면, true 반환 해줍니다.

4. (set자료구조에 이미 같은 자료구조가 있는 경우애 false를 리턴을 합니다.)

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

"List 자료구조"

- "List 자료구조"는  중복을 허용하는  인터페이스 입니다.

- "저장되는 순서를 기억하는 자료구조"입니다.

- "Set인터페이스"처럼  "Collection인터페이스"를  상속받고 있습니다.

 

- 순서를 기억하고 있기 때문에 0번째, 1번째, 2번째 ,,,,이런식으로 순서대로 값을 꺼낼 수 있음.

 

get()  ->

순서대로 값을 꺼낼 수 있음.

안에 매개변수는 인덱스값을 나타낸다.

 

 

 

 

 

 

 

 


 

 

 

 

 

"Map 자료구조"

- "Map 자료구조"는 을 가지는 자료구조 입니다.

- "Map 인터페이스"에 저장되어 있는 모든 키들은 중복된 값을 가지면 안됩니다. ★

 

put() -> 저장할 때, put메소드를 이용해서 키,값을 저장합니다.

 

get()  ->

1. 원하는 값을 꺼낼 때

2. 매개변수에 "키"가 들어감.

 

 

keySet()  ->

자신이 가지고 있는 모든 키들의 정보를 읽어오는 메소드

 

 

 

 

 

 


 

 

 

 

 

"(Java util 패키지)에는 위에서 설명한 인터페이스를 구현하고 있는 클래스들(ArrayList, HashSet, HashMap)을 많이 가지고 있습니다. "

 

 

 

 

 

 

 

 


 

 

 

프로그래밍을 잘 할려면,

"컬렉션 프레임워크"의 인터페이스(자료구조)와   구현클래스들을 

잘알고 있어야 합니다.

 

 

 

인터페이스(자료구조)

- Collection

- Iterator

- List

- Set

- Map

- 등등 (더 있는지는 모르겠음)

 

 

구현클래스들

- ArrayList

- HashSet

- HashMap

- 등등