查看Map自带API

map遍历方法:

 public static void main(String[] args) {
Map<Integer,String> map = new HashMap<Integer,String>(); map.put(10,"first");
map.put(20,"second");
map.put(30,"third"); /**
* 通过map.keySet遍历key,通过map.get(key)取value
*
* 特点:适用于仅获取key的情况,同时也可通过key获取value,
* 不过不推荐使用该方法获取value(原因:通过key值去计算对应的hash,然后再通过hash获取对应的结果值,会导致效率较低)
*/
for (Integer key:map.keySet()
) {
System.out.println("key is " + key +" and value is " + map.get(key));
} /**
* 通过map.entrySet()遍历该map,通过entry.getKey()获取key entry.getValue()获取value
*
* 特点:同时需要key和value时推荐使用
* hashMap内部的存储结构就是基于Entry的数组,在用这种方式进行遍历时,只需要遍历一次即可
*/
for (Map.Entry<Integer,String> entry:map.entrySet()
) {
System.out.println("key is " + entry.getKey() + " and value is " + entry.getValue());
} /**
* 通过map.entrySet()使用iterator遍历,it.getKey()获取key it.getValue()获取value
*
*特点:效率同map.entrySet(),增加删除元素的功能,可以使用Iterator的remove方法删除元素
*/
Iterator<Map.Entry<Integer,String>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<Integer,String> it = iterator.next();
//删除元素
if("second".equals(it.getValue())){
iterator.remove();
}
System.out.println("key is " + it.getKey() + " and value is "+ it.getValue());
} /**
* 通过map.values()获取所有的value遍历,适用于只获取value的情景
*
* 特点:适用于仅取value的情况
*/
for (String value:map.values()
) {
System.out.println("value is "+value);
} /**
* java8 Lambda表达式遍历
*/
map.forEach((key, value) -> {
System.out.println("Lambda-> key is " + key + "and value is" + value);
}); }

Map遍历的几种方法的更多相关文章

  1. map遍历的四种方法

    public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...

  2. Map 遍历的几种方法

    复习map的过程中想到的,做个简单的记录 public class HashMapTest { public static void main(String args[]) { Map<Inte ...

  3. (转载)Java中如何遍历Map对象的4种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  4. map遍历的四种方式

    原文 http://blog.csdn.net/dayanxuqun/article/details/26348277 以下是map遍历的四种方式: // 一.推荐只用value的时候用,都懂的... ...

  5. JavaScript遍历对象4种方法和遍历数组的3种方式 代码

    //遍历对象 4种方法 //Object.keys(obj).forEach() console.log("keys...遍历</br>") var obj1 = { ...

  6. Map集合遍历的2种方法

    Map是一个集合的接口,是key-value相映射的集合接口,集合遍历的话,需要通过Iterator迭代器来进行. Iterator是什么东西: java.util包下的一个接口: 对 collect ...

  7. 遍历Map key-value的两种方法

    以前遍历Map key-value比较习惯的方式是先获取Map中的所有key值,然后根据key,依次从Map中去数据,基本方式如下: Map<String,String> testData ...

  8. map集合遍历的五种方法

    package com.jackey.topic; import java.util.ArrayList;import java.util.HashMap;import java.util.Itera ...

  9. Map<String, String> 遍历的四种方法

    Map<String, String> map = new HashMap<String, String>(); map.put("key1", " ...

随机推荐

  1. 如何统计NFS的client在一段时间内收到了多少个字节?

    可使用的命令如下: nfsstat –c nfsiostat 参考资料 ============= https://www.systutorials.com/docs/linux/man/8-nfss ...

  2. 判断checkbox选中的个数

    直接看例子吧: shippingAddressList  为一个集合 <c:forEach items="${shippingAddressList }" var=" ...

  3. 用Telnet测试服务器的端口是否开通

      可以用telnet测试远程服务器的端口是否开通,格式如下: telnet <server name> <port number> 例如: Telnet tserv 3389 ...

  4. Install Hyper-V on Windows 10

      Enable Hyper-V to create virtual machines on Windows 10.Hyper-V can be enabled in many ways includ ...

  5. 为什么有的需要安全连接的的application只有开Fiddler才好用?

      Help! Running Fiddler Fixes My App??? Over the years, the most interesting class of support reques ...

  6. oauth2-server-php-docs 授权类型

    授权码 概观 在Authorization Code交付式时使用的客户端想要请求访问受保护资源代表其他用户(即第三方).这是最常与OAuth关联的授予类型. 详细了解授权码 用例 代表第三方来电 履行 ...

  7. Mybatis源码分析之Cache一级缓存原理(四)

    之前的文章我已经基本讲解到了SqlSessionFactory.SqlSession.Excutor以及Mpper执行SQL过程,下面我来了解下myabtis的缓存, 它的缓存分为一级缓存和二级缓存, ...

  8. 在线创建springboot项目

    在线创建srpingboot项目的网址:https://start.spring.io/ 我只选了一个web,然后开始生成:

  9. android中使用toolbar

    系统默认使用的是ActionBar,就是界面中的标题栏,但是由于ActionBar设计的原因,被限定只能位于活动的顶部,从而不能实现Material Design效果,所以官方建议使用Toolbar替 ...

  10. 【转】Java四种线程池的使用

    Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程.newFixe ...