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());
}
}
}