2012-03-17 24 views

Trả lời

21

Giống như cách bạn lặp lại bất kỳ bộ sưu tập nào, với vòng lặp vòng lặp hoặc vòng lặp cho mỗi lần.

NavigableMap<K, V> map = ... 

for(K key: map.keySet()) // iterate keys. 

for(V value: map.values()) // iterate values. 

for(Entry<K, V> entry: map.entrySet()) // iterate key/value entries. 
+0

Điều đáng nói là [SortedMap] (http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html) (trong đó NavigableMap là một đứa trẻ) đảm bảo rằng các phương thức thu thập (keySet , entrySet, values) sẽ có cùng thứ tự như bản đồ. Cá nhân, tôi lãng phí rất nhiều thời gian tìm kiếm một số "sortEntrySet" phương pháp, nhưng nếu bạn chỉ cần iterating, không có nhu cầu. – philo

6

A NavigableMap là Map. Bạn nhận được tất cả các khóa của nó bằng cách sử dụng keySet(), tất cả các giá trị của nó bằng cách sử dụng values() và tất cả các mục của nó bằng cách sử dụng entrySet().

1

Kể từ NavigableMap kéo dài Map nó vẫn phải cung cấp các phương pháp values(), keySet()entrySet(). Sử dụng chúng để lặp qua các mục/giá trị/khóa như bạn thực hiện với bất kỳ bản đồ nào khác.

-1

Nếu bạn chỉ nhận được tất cả các mục, tôi nghĩ bạn không cần sử dụng vòng lặp, chỉ cần in các mục này.

NavigableMap<String, Integer> nav = new TreeMap<String, Integer>(); 
nav.put("key1", value1); 
nav.put("key2", value2); 
nav.put("key3", value3); 
System.out.printf("The Whole:%s", nav); 
0

trước đúng vòng lặp cho Map nên thích this->

for (entry Map.Entry: map.entrySet()) // lặp mục chính/giá trị.

Các vấn đề liên quan