2012-04-16 48 views
6

Tôi đã cố gắng tìm hiểu và hiểu rõ hơn về hoạt động của HashMap. Vì vậy, tôi đã tạo hashmap này để lưu trữ các giá trị nhất định khi hiển thị bằng Iterator cho tôi kết quả đầu ra làtrích xuất các giá trị từ HashMap

1=2 
2=3 
3=4 

và cứ tiếp tục như vậy. Đầu ra này tôi thu được bằng cách sử dụng hàm Iterator.next(). Bây giờ những gì nghi ngờ thực sự của tôi là vì loại giá trị này được trả về trong một đối tượng Iterator, nếu tôi chỉ cần trích xuất các giá trị bên phải của các mức cân bằng trên, có chức năng nào không? Một cái gì đó giống như một chuỗi con. Có cách nào để tôi có thể nhận kết quả là

2 
3 
4 

Mọi trợ giúp sẽ được đánh giá cao. cảm ơn trước.

+2

Trong hầu hết các trường hợp, không cần phải tương tác trực tiếp với trình vòng lặp. Xem câu trả lời của Peter Lawrey để xem cách thực hiện cho mỗi vòng lặp. – unholysampler

Trả lời

11

Tôi sẽ sử dụng một cái gì đó giống như

Map<Integer, Integer> map = new HashMap<>(); 

for(int value: map.values()) 
    System.out.println(value); 
+0

nó hoạt động. cảm ơn rất nhiều. –

2

Bản đồ có phương thức được gọi là các giá trị() để lấy Bộ sưu tập của tất cả các giá trị. (bên phải)

Tương tự như vậy, có một phương thức gọi là KeySet() để lấy Tập hợp tất cả các phím. (bên trái)

0

Bạn cần phương thức Map#values() trả về Collection.

Sau đó, bạn có thể nhận được Iterator từ bộ sưu tập này theo cách thông thường.

2
import java.util.HashMap; 

public class Test 
{ 
    public static void main(String args[]) 
    { 
     HashMap < Integer , Integer > map = new HashMap < Integer , Integer >(); 

     map.put(1 , 2); 
     map.put(2 , 3); 
     map.put(3 , 4); 

     for (Integer key : map.keySet()) 
     { 
      System.out.println(map.get(key)); 
     } 
    } 
} 
Các vấn đề liên quan