精华内容
下载资源
问答
  • Map集合的遍历方式

    2018-08-04 16:27:55
    Map集合的遍历方式 map集合遍历有四种方式: 第一种:先获得key集合,然后for循环遍历key集合拿值;  Set<String> keySet = map.keySet(); for (String key : keySet) {  String value ...

    Map集合的遍历方式

    map集合遍历有四种方式:

    第一种:先获得key集合,然后for循环遍历key集合拿值;

            Set<String> keySet = map.keySet();

    for (String key : keySet) {

     String value = map.get(key);

     System.out.println(value);

     

          第二种:通过迭代器遍历Map集合

            Iterator<Entry<String, String>> iterator = map.entrySet().iterator();

     while(iterator.hasNext()){

    Entry<String, String> entry = iterator.next();

    System.out.println(entry.getKey()+entry.getValue());

     }

          第三种:遍历Map集合的entrySet(推荐,尤其是容量大的时候)

            Set<Entry<String, String>> entrySet = map.entrySet();

    for (Entry<String, String> entry : entrySet) {

    System.out.println(entry.getKey());

    System.out.println(entry.getValue());

    }

     

         第四种:通过遍历Map.values遍历所有的value,但是不能获得key

           Collection<String> values = map.values();

    for (String value : values) {

    System.out.println(value);

    }

    原文地址:https://blog.csdn.net/qq_40606932/article/details/81366918

    展开全文
  • map集合的遍历方式

    2019-08-14 12:06:33
    System.out.println("通过Map.keySet遍历key和value:"); for (String key : map.keySet()) { System.out.println("key= "+ key + " and value= " + map.get(key)); } //第二种 System...

     

    //第一种:普遍使用,二次取值

    System.out.println("通过Map.keySet遍历key和value:");

    for (String key : map.keySet()) {

              System.out.println("key= "+ key + " and value= " + map.get(key));

    }

     

    //第二种

    System.out.println("通过Map.entrySet使用iterator遍历key和value:");

    Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();

    while (it.hasNext()) {

           Map.Entry<String, String> entry = it.next();

           System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());

    }

     

    //第三种:推荐,map容量大时

    System.out.println("通过Map.entrySet遍历key和value");

    for (Map.Entry<String, String> entry : map.entrySet()) {

         System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());

    }

     

    //第四种

    System.out.println("通过Map.values()遍历所有的value,但不能遍历key");

    for (String v : map.values()) {

             System.out.println("value= " + v);

    }

    展开全文
  • map集合的遍历方式效率比较 map集合遍历的方式: 加强for循环方式: 1,keySet():通过名字即可知道就是存储key的set集合,主要是 for (String key : m.keySet()) { String s = m.get(key); } 用key=m.keySet的...

    map集合的遍历方式效率比较

    map集合遍历的方式:

    加强for循环方式:

    1,keySet():通过名字即可知道就是存储key的set集合,主要是

     for (String key : m.keySet()) {
                String s = m.get(key);
            }
    

    用key=m.keySet的形式将键一个个取出来,然后通过key的值获取value即map.get(key)

    2.entrySet():通过名字可知道就是存储键值对的set集合,主要是

    for (Map.Entry<String, String> entry : m.entrySet()) {
                entry.getKey();
                entry.getValue();
            }
    

    Map.Entry<String, String> entry,定一个entry,来一个个接收键值对map.entrySet();然后再 entry.getKey();entry.getValue();来分别获取键和值

    迭代器方式:

    1,keySet()迭代器
    2,entrySet() 迭代器

    map集合的遍历方式效率比较具体实现如下:

    import javax.swing.*;
    import java.util.*;
    
    public class Sele {
        public static void main(String[] args) {
    
            String[] k=new String[1000000];
            //创建一个健值都是整形的对象
            Map<String,String> m=new HashMap<>();
            //循环赋值
            for (int i=0;i<100000;i++) {
                k[i]=UUID.randomUUID().toString();
                m.put(k[i],UUID.randomUUID().toString());
            }
            //增强for循环,利用keySet()--->value=map.get(key);
            long start=System.currentTimeMillis();
            for (String key : m.keySet()) {
                String s = m.get(key);
            }
            long end=System.currentTimeMillis();
            System.out.println("增强for循环,利用keySet()来遍历map所花的时间为"+ (end-start)+"ms");
    
            //增强for循环,利用entrey.get(key),entrey.get(value)
            start=System.currentTimeMillis();
            for (Map.Entry<String, String> entry : m.entrySet()) {
                entry.getKey();
                entry.getValue();
            }
            end=System.currentTimeMillis();
            System.out.println("增强for循环,利entrySet()来遍历map所花的时间为"+ (end-start)+"ms");
    
            //迭代器,keySet迭代器
            start=System.currentTimeMillis();
            Iterator<String> iter=m.keySet().iterator();
            String key = null;
            while (iter.hasNext()) {
                key = iter.next();
                m.get(key);
            }
            end=System.currentTimeMillis();
            System.out.println("增强for循环,利用keySet迭代器来遍历map所花的时间为"+ (end-start)+"ms");
    
    
            //迭代器,entreySet迭代器
            start=System.currentTimeMillis();
            Iterator<Map.Entry<String, String>> iterator = m.entrySet().iterator();
            Map.Entry<String, String> entry;
            while (iterator.hasNext()){
                entry=iterator.next();
                entry.getKey();
                entry.getValue();
            }
            end=System.currentTimeMillis();
            System.out.println("增强for循环,利用entreySet迭代器来遍历map所花的时间为"+ (end-start)+"ms");
        }
    }
    

    最终输出结果为:
    在这里插入图片描述
    通过分析结果发现迭代器的效率相对for循环更高,同时,entrySet方法的效率比keySet()的效率要高。

    展开全文
  • 05Java集合-12. Map集合的遍历方式*

    Map集合的遍历(方式1)

    遍历思路

    我们刚才存储的元素都是成对出现的,所以我们把Map看成是一个夫妻对的集合

    • 把所有的丈夫给集中起来
    • 遍历丈夫的集合,获取到每一个丈夫
    • 根据丈夫去找对应的妻子

    步骤分析

    • 获取所有键的集合。用keySet()方法实现
    • 遍历键的集合,获取到每一个键。用增强for实现
    • 根据键去找值。用get(Object key)方法实现

    Map集合的遍历(方式2)

    遍历思路

    我们刚才存储的元素都是成对出现的,所以我们把Map看成是一个夫妻对的集合

    • 获取所有结婚证的集合
    • 遍历结婚证的集合,得到每一个结婚证
    • 根据结婚证获取丈夫和妻子

    步骤分析

    获取所有键值对对象的集合

    • Set<Map.Entry<K,V>> entrySet():获取所有键值对对象的集合

    遍历键值对对象的集合,得到每一个键值对对象

    • 用增强for实现,得到每一个Map.Entry

    根据键值对对象获取键和值

    • 用getKey()得到键
    • 用getValue()得到值
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,972
精华内容 788
关键字:

map集合的遍历方式