LinkedHashMap
과 TreeMap
자체는 Iterable
을 직접 구현하지 않지만, 그들이 반환하는 entrySet()
, keySet()
, values()
메서드를 통해 이터레이션이 가능하다.
(이 메서드들은 Iterable
인터페이스를 상속하는 컬렉션을 반환한다.)
LinkedHashMap
과 TreeMap
의 이터레이션 가능성Map 인터페이스의 메서드:
entrySet()
: Set<Map.Entry<K, V>>
를 반환.
이 Set
인터페이스는 Collection
을 상속하며, Collection
은 Iterable
을 상속.
keySet()
: Set<K>
를 반환합니다. 이 Set
도 Collection
을 상속.
values()
: Collection<V>
를 반환.
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
// LinkedHashMap 예시
LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();
linkedHashMap.put("one", 1);
linkedHashMap.put("two", 2);
linkedHashMap.put("three", 3);
// entrySet()을 이용한 순회
for (Map.Entry<String, Integer> entry : linkedHashMap.entrySet()) {
System.out.println("LinkedHashMap Entry: " + entry.getKey() + " = " + entry.getValue());
}
// TreeMap 예시
TreeMap<String, Integer> treeMap = new TreeMap<>();
treeMap.put("one", 1);
treeMap.put("two", 2);
treeMap.put("three", 3);
// entrySet()을 이용한 순회
for (Map.Entry<String, Integer> entry : treeMap.entrySet()) {
System.out.println("TreeMap Entry: " + entry.getKey() + " = " + entry.getValue());
}
}
}