티스토리 뷰

Java

Collection(set, list...) ≒ Map

yun jjang 2018. 11. 20. 16:22


Map중에서 대표인 HashMap은 inner class로 KeySet클래스( Collection의 Set)를 상속받아 사용한다.
keySet은 map의 key,value형태의 구조에서 key들을 담고 있는 묶음을 가져오는 함수이다.
다시말해, Map에서의 keySet은 Collection의 Set을 사용한다.

<Map은 Collection이 아님에도 같이 설명하는 이유 - map의 key를 담기에 적합한 구조 set >
Collection에서 Set은 단일한 엘리먼트 값만을 허용해주는 Collection이다.
단일한 값만을 허용해주다보니 map의 단일한key를 담기에 가장 좋은 구조를 가지고 있다.
따라서 map 내에서 key를 가지고 있는 자료구조로 set을 사용한다.



<Collection종류는 모두 iterator형식을 사용할 수 있다.>

위의 예제에서 보듯이 iterator 축약형을 사용하려면 iteratable interface를 상속 받아야하는데 Collection은 iteratable interface를 상속 받으므로

Collection의 객체는 모두 iterator메소드들(hasNext(), next(), remove()...)을 사용 할 수 있다.