而Set具有迭代器。用迭代方式取出所有的Map.Entry对象,再根据Map.Entry的getKey和getValue方法,获取关系中的键和值 作者: 杨习平 时间: 2012-9-4 17:31
Set<Map.Entry<K,V>> entrySet()返回此映射中包含的映射关系的 set 视图。返回的 set 中的每个元素都是一个 Map.Entry。该 set 受映射支持,所以对映射的改变可在此 set 中反映出来,反之亦然。如果修改映射的同时正在对该 set 进行迭代(除了通过迭代器自己的 remove 操作,或者通过在迭代器返回的映射项上执行 setValue 操作外),则迭代结果是不明确的。set 支持通过 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作实现元素移除,即从映射中移除相应的映射关系。它不支持 add 或 addAll 操作
楼上说的很对的:
再给你一个例子,你执行一下,看看就明白了:
public class MapTest {
public static void main(String[] args) {
Map<String, Student> map = new HashMap<String, Student>();
Student s1 = new Student("许文强", 20);
Student s2 = new Student("丁力", 30);
Student s3 = new Student("冯程程", 25);