本帖最后由 liang926 于 2014-8-14 00:36 编辑
- /*
- * Map集合的获取方式
- */
- import java.util.*;
- public class MapDemo1 {
- public static void main(String[] args) {
- method();
- System.out.println("*******下面是 第二种entrySet()方法*********************");
- method_1();
- }
- /*
- * 第二种entrySet()方法
- */
- private static void method_1(){
- Map<String,Integer> map = new HashMap<String,Integer>();
- map.put("a", 1);
- map.put("b", 2);
- map.put("c", 3);
- map.put("d", 4);
- //使用Map接口方法entrySet,获取键值对映射关系对象Entry,
- //对象存储到Set集合
- Set<Map.Entry<String, Integer>> set = map.entrySet();
- //迭代器,迭代Set集合
- Iterator<Map.Entry<String, Integer>> it = set.iterator();
- while(it.hasNext()){
- //it.next()获取出来的是什么,键值对映射关系Map.Entry
- Map.Entry<String, Integer> me = it.next();
- //利用键值对映射关系对象中的方法getKey getValue
- String key = me.getKey();
- Integer value = me.getValue();
- System.out.println(key+"....."+value);
- }
-
- }
-
-
- /*
- * 第一种keySet()方法
- */
- private static void method(){
- Map<String,Integer> map = new HashMap<String, Integer>();
- map.put("a", 1);
- map.put("b", 2);
- map.put("c", 3);
- map.put("d", 4);
-
- Set<String> set = map.keySet();//ZZZ
- //迭代Set集合
- Iterator<String> it = set.iterator();
- while(it.hasNext()){
-
- String key = it.next();//it.next方法,返回的是String类,Map集合中的键
-
- Integer value = map.get(key);//通过Map集合的get()方法,传递键,获取值
-
- System.out.println(key+"...."+value);
-
- }
- }
- }
复制代码
请问这两中方式各自的优缺点,在什么情况下用哪一种会比较合适?
我觉得KeySet()方法的代码能比entrySet的代码简洁些,KeySet()方法我更能接受,不知两者比较还有哪方面的优点,谢谢大家的指导!
|
|