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이다.
Collection에서 Set은 단일한 엘리먼트 값만을 허용해주는 Collection이다.
단일한 값만을 허용해주다보니 map의 단일한key를 담기에 가장 좋은 구조를 가지고 있다.
따라서 map 내에서 key를 가지고 있는 자료구조로 set을 사용한다.
<Collection종류는 모두 iterator형식을 사용할 수 있다.>
위의 예제에서 보듯이 iterator 축약형을 사용하려면 iteratable interface를 상속 받아야하는데 Collection은 iteratable interface를 상속 받으므로
Collection의 객체는 모두 iterator메소드들(hasNext(), next(), remove()...)을 사용 할 수 있다.