컬렉션_Iterator 과 Map
2024. 2. 17. 19:32ㆍJAVA
Iterator 는 Collection 인터페이스에 포함 돼 있다고 했다.
따라서, Collection 의 구현 클래스라면 Iterator 를 사용할 수 있다고, 앞선 글에서 학습하였다.
그런데, Map 에는 iterator() 가 없다.
??????????
public Interface Collection{
...
Iterator iterator();
...
}
이전 글에서 ArrayList에서는 iterator() 를 사용할 수 있었다.
ArrayList를 거슬러 올라가 보니, Collection 을 상속받고 있음이 확인 되었다.
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
public interface List<E> extends SequencedCollection<E> {
}
public interface SequencedCollection<E> extends Collection<E> {
}
그런데... HashMap 에도, Map에서도 Collection 과의 관계는 확인되지 않았다.
상속 받지 않았으니 당연히 없는 것.
그렇담 어떻게 해야 하나...
Map 인터페이스에는
Set<K> keySet();
Collection<V> values();
등의 메서드가 있다.
Set? Collection? 그렇다.
살짝 번거롭지만,
메서드 사용에 대한 반환값으로 Collection 과 연관된 객체를 받아, Iterator 를 호출하면 사용할 수 있다.
Map map = new HashMap();
Iterator iterator = map.keySet().iterator();
오.. 굳.
'JAVA' 카테고리의 다른 글
| 컬렉션_HashSet_2 (0) | 2024.02.20 |
|---|---|
| 컬렉션_HashSet(1) (0) | 2024.02.19 |
| 컬렉션_Iterator (0) | 2024.02.17 |
| 컬렉션_스택&큐 (0) | 2024.02.15 |
| 컬렉션_LinkedList (0) | 2024.02.15 |