本帖最后由 唐志兵 于 2012-8-29 11:10 编辑
- public class setDemo {
- public static void main(String[] args) {
- HashMap<String, String> hm = new HashMap<String, String>();
- String value = null;
- Map.Entry<String, String> entry = null;
- hm.put("1", "hei");
- hm.put("2", "ma");
- hm.put("3", "hao");
- Set<String> s = hm.keySet(); //这里使用keyset迭代集合
- Iterator<String> it = s.iterator();
- while(it.hasNext()){
- value = it.next();
- System.out.println(value + " = " + hm.get(value));
- }
- System.out.println("------------------------");
- Set<Map.Entry<String, String>> ss = hm.entrySet(); //使用entryset迭代集合。
- Iterator<Map.Entry<String, String>> it2 = ss.iterator();
- while(it2.hasNext()){
- entry = it2.next();
- System.out.println(entry.getKey() + " = " + entry.getValue());
- }
- }
- }
复制代码 entrySet() 返回此映射所包含的映射关系的 Set 视图。
keySet() 返回此映射中所包含的键的 Set 视图。
因为keyset返回的只是键(key)的视图,所以还需要hm.get(value)经过查询才能获取到 值(value)。
区别就是这里了,一个是键视图,一个是返回 映射关系视图。
|