Map遍历的几种方法
查看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遍历的几种方法的更多相关文章
- map遍历的四种方法
public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...
- Map 遍历的几种方法
复习map的过程中想到的,做个简单的记录 public class HashMapTest { public static void main(String args[]) { Map<Inte ...
- (转载)Java中如何遍历Map对象的4种方法
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
- map遍历的四种方式
原文 http://blog.csdn.net/dayanxuqun/article/details/26348277 以下是map遍历的四种方式: // 一.推荐只用value的时候用,都懂的... ...
- JavaScript遍历对象4种方法和遍历数组的3种方式 代码
//遍历对象 4种方法 //Object.keys(obj).forEach() console.log("keys...遍历</br>") var obj1 = { ...
- Map集合遍历的2种方法
Map是一个集合的接口,是key-value相映射的集合接口,集合遍历的话,需要通过Iterator迭代器来进行. Iterator是什么东西: java.util包下的一个接口: 对 collect ...
- 遍历Map key-value的两种方法
以前遍历Map key-value比较习惯的方式是先获取Map中的所有key值,然后根据key,依次从Map中去数据,基本方式如下: Map<String,String> testData ...
- map集合遍历的五种方法
package com.jackey.topic; import java.util.ArrayList;import java.util.HashMap;import java.util.Itera ...
- Map<String, String> 遍历的四种方法
Map<String, String> map = new HashMap<String, String>(); map.put("key1", " ...
随机推荐
- SharePoint2013 以其他用户登录和修改AD域用户密码 功能
sharepoint默认是没有修改AD密码 和切换 用户的功能,这里我用future的方式来实现. 部署wsp前: 部署后: 点击以其他用户身份登录 点击修改用户密码: 这里的扩展才菜单我们用Cust ...
- 【ElasticSearch】ES5新特性-keyword-text类型-查询区别
ES5新特性-keyword-text类型-查询区别 elasticsearch-head Elasticsearch-sql client junneyang (JunneYang) es keyw ...
- 多维数组分解----SVD在推荐系统中的应用-
http://www.janscon.com/multiarray/rs_used_svd.html [声明]本文主要参考自论文<A SINGULAR VALUE DECOMPOSITION A ...
- C#获取程序启动目录
//WCF service: string servicePath = System.Web.Hosting.HostingEnvironment.MapPath("~"); // ...
- 让你的Python代码更加pythonic
http://wuzhiwei.net/be_pythonic/ 何为pythonic? pythonic如果翻译成中文的话就是很python.很+名词结构的用法在中国不少,比如:很娘,很国足,很CC ...
- PHP构造函数的重载
由于PHP是弱类型语言,因此函数的输入参数类型无法确定(可以使用类型暗示,但是类型暗示无法用在诸如整型,字符串之类的标量类型上),并且对于一个函数,比如只定义了3个输入参数,PHP却运行调用的时候输入 ...
- php 传变量到 js 文件
php 传变量到 js 文件 // 传变量到js $oncj="taocanonc(".$i.",".$alli.",".$row1[mon ...
- PHP开发框架比较
PHP开发框架比较 Laravel 是一个简单优雅的 PHP WEB 开发框架,将你从意大利面条式的代码中解放出来.通过简单.优雅.表达式语法开发出很棒的 WEB应用!但是通过使用我们发现Larave ...
- FancyBox-经典的jQuery Lightbox插件
在线演示 本地下载 FancyBox 是一款非常优秀的弹窗插件,能够为图片.HTML内容和其它任务的多媒体内容提供优雅的弹出缩放效果.作为是最流行的 Lightbox 插件之一,可以通过 fitToV ...
- .Net Framework System.Collections 集合类
本文内容 集合类 性能 最近复习了一下集合,C# 关于集合的类蛮多,但我除了 List 那几个经常用之外,其他的用得还真不多(只在小范围使用),但其实,每个集合类都各有自己适用的场景,功能也很强大.尤 ...