由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系。 Map中采用Entry内部类来表示一个映射项,映射项包含Key和Value Map.Entry里面包含getKey()和getValue()方法
Set<Entry<T,V>> entrySet() 该方法返回值就是这个map中各个键值对映射关系的集合。
可使用它对map进行遍历。
Iterator<Map.Entry<Integer, Integer>> it=map.entrySet().iterator(); while(it.hasNext()) { Map.Entry<Integer,Integer> entry=it.next(); int key=entry.getKey(); int value=entry.getValue(); System.out.println(key+" "+value); } public static void main(String[] args) { // TODO Auto-generated method stub
stu stu = new stu("asd","aaa"); stu stu1 = new stu("zxc","zzz"); stu stu2= new stu("123","111"); stu stu3 = new stu("rfv","rrr"); Map<String,stu> map = new HashMap<String,stu>(); map.put("aaa", stu); map.put("sss", stu1); map.put("ddd", stu2); map.put("asd", stu3); Set<Entry<String, Java4.stu>> set = map.entrySet(); Iterator<Entry<String, Java4.stu>> iterator = set.iterator(); while(iterator.hasNext()) { System.out.println(iterator.next().getKey()); String key = iterator.next().getKey(); Java4.stu stu4 = map.get(key); System.out.println(stu4.getName()); System.out.println(stu4.getId()); //System.out.println(iterator.next().getValue()); //System.out.println(iterator.next().getValue()); } } this.name = name; this.id = id;} public stu() { super(); } @Override public String toString() { return “stu [name=” + name + “, id=” + id + “]”; }