CODEDRAGON ㆍDevelopment/Java
Map 인터페이스에서 Iterator 사용
Map 인터페이스를 구현한 컬렉션 클래스는 키(key)와 값(value)의 쌍(pair)으로 저장되는 구조이기 때문에 iterator()를 직접 호출할 수 없습니다. 그 대신 keySet()과 entrySet()과 같은 메소드를 통해 키와 값을 각각 Set형태로 얻어 온 후 다시 iterator()메소드를 호출하여 Iterator를 얻을 수 있습니다.
Map<K, V> map = new HashMap() //... Iterator iterator = map.keySet().iterator(); Set<E> set = map.entrySet(); Iterator iterator = set.iterator(); |
두 문장을 아래와 같이 Iterator iterator = map.entrySet().iterator(); 처럼 체인을 걸어 한 문장으로 만들 수 있습니다.
Set<E> set = map.entrySet(); Iterator iterator = set.iterator(); |
Iterator iterator = map.entrySet().iterator(); |
Iterator iterator = map.entrySet().iterator();
1 |
map.entrySet() |
map.entrySet()의 반환값이 Set타입입니다. |
2 |
.iterator() |
map.entrySet()을 통해 얻은 Set객체의 iterator()메소드를 호출해서 Iterator인스턴스를 얻습니다. |
3 |
iterator |
생성된 Iterator인스턴스의 참조값이 l저장됩니다. |
'Development > Java' 카테고리의 다른 글
eclipse - JRE 경로 변경하기 (0) | 2019.03.22 |
---|---|
생성자의 특징(조건) (0) | 2019.03.20 |
채널(Channel), 채널 클래스의 계층 구조 (0) | 2019.03.09 |
클래스(Class) vs 객체(object) vs 인스턴스(instance) (0) | 2019.03.03 |
Thread(스레드; 쓰레드), 자바에서 스레드를 사용하는 이유 (0) | 2019.03.02 |