Map.Entry

如何简便的遍历Map

你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?

 

使用JDK5的增强for循环,来遍历Map,简单多了,比Map.Entry还方便。

看代码:

Java代码  收藏代码
  1. for (String key : map.keySet()) {  
  2.     System.out.println(key + " : " + map.get(key));  
  3. }  
 

 

 

 

最罗嗦遍历Map的方法:

 

Java代码  收藏代码
  1. Set keys = map.keySet( );  
  2. if(keys != null) {  
  3. Iterator iterator = keys.iterator( );  
  4. while(iterator.hasNext( )) {  
  5. Object key = iterator.next( );  
  6. Object value = map.get(key);  
  7. ;....  
  8. ;}  
  9.    

 

 

使用Map.Entry类,你可以得到在同一时间得到所有的信息。

Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的 对象集。接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。

Map.Entry同时也提供了一个setValue()方法

 

 

 

Java代码  收藏代码
  1. private void a(){  
  2.     Map<String, String> values = new HashMap();  
  3.     for (Map.Entry entry : values.entrySet()) {  
  4.         Object key = entry.getKey( );  
  5.         Object value = entry.getValue();  
  6.     }  
  7. }  



 Map是java中的接口,Map.Entry是Map的一个内部接口。

         Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。

         Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。

         

        由以上可以得出,遍历Map的常用方法:

       1.  Map map = new HashMap();

           Irerator iterator = map.entrySet().iterator();

           while(iterator.hasNext()) {

                   Map.Entry entry = iterator.next();

                   Object key = entry.getKey();

                   //

           }

       2.Map map = new HashMap(); 

           Set  keySet= map.keySet();

           Irerator iterator = keySet.iterator;

           while(iterator.hasNext()) {

                   Object key = iterator.next();

                   Object value = map.get(key);

                   //

           }

 

       另外,还有一种遍历方法是,单纯的遍历value值,Map有一个values方法,返回的是value的Collection集合。通过遍历collection也可以遍历value,如

      Map map = new HashMap();

      Collection c = map.values();

      Iterator iterator = c.iterator();

      while(iterator.hasNext()) {

             Object value = iterator.next(); 

     }

转载于:https://www.cnblogs.com/baoendemao/p/3804735.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273748.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图解SQL的inner join(join)、left join、right join、full outer join、union、union all的区别...

对于SQL的Join&#xff0c;在学习起来可能是比较乱的。我们知道&#xff0c;SQL的Join语法有很多inner的&#xff0c;有outer的&#xff0c;有left的&#xff0c;有时候&#xff0c;对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章,通过文氏图 Ven…

数据库---四中连接查询(交叉、左连接、右连接、完整查询)

个人博客 &#xff1a;https://www.siyuan.run CSDN&#xff1a;https://blog.csdn.net/siyuan 微信小程序&#xff1a;思远Y 1、交叉连接查询 : (基本不适用---得到的是两张表数据的乘积) 语法&#xff1a;SELECT * FROM 表1,表2; PS&#xff1a;与表关系无关 示例&#xff…

数据库---练习题(45道)

准备工作 CREATE DATABASE STUDENTS; CREATE TABLE STUDENT( SNO VARCHAR(32) PRIMARY KEY NOT NULL, SNAME VARCHAR(32) NOT NULL, SSEX VARCHAR(32) NOT NULL, SBIRTHDAY DATETIME, CLASS VARCHAR(20) ); CREATE TABLE COURSE( CNO VARCHAR(20) PRIMARY KEY NOT NULL, CNAM…

数据库---JDBC

1.1 JDBC概述JDBC&#xff08;Java DataBase Connectivity,java数据库连接&#xff09;是一种用于执行SQL语句的Java API。JDBC是Java访问数据库的标准规范&#xff0c;可以为不同的关系型数据库提供统一访问&#xff0c;它由一组用Java语言编写的接口和类组成。 JDBC需要连接驱…

session中存放一个对象,只修改对象的属性,不将修改后的对象存放session,发现session中存放的对象也发生改变!

标题简单描述&#xff1a;先将一个对象放入session&#xff0c;只对对象属性值进行修改&#xff0c;但不将修改后的对象存放session中&#xff0c;发现session中存放的对象属性值也相对应的改变。Person personnew PerSon(); request.getSession().setAttribute("person&q…

利用三层交换机实现VLAN间路由配置

利用三层交换机实现VLAN间路由配置 实验目标&#xff1a; 一、 掌握交换机Tag VLAN的配置&#xff1b; 二、掌握三层交换机基本配置方法&#xff1b; 三、 掌握三层交换机的VLAN路由的配置方法&#xff1b; 四、通过三层交换机实现VLAN见相互通信&#xff1b; 技术原理&#xf…

easyui、表格中添加操作一列,将操作下设置为修改,点击修改弹出该行对象的编号。

页面中的代码(自己引入easy插件)&#xff1a; <body> <div id"table"></div> </body> <script type"text/javascript"> $(function(){$(#table).datagrid({ url:tt.json, //显示的数据striped:true, …

被LTRIM(RTRIM())害死了,差点

LTRIM(character_expression)去掉前置空格 LTRIM(RTRIM())就是把前置和后置空格都去掉。 character_expression可以是常量、变量或列。character_expression必须属于某个可隐式转换为varchar的数据类型(text、ntext和image除外)。否则&#xff0c;请使用CAST显示转换character_…

Mybatis、使用注解的方式编写用户和角色一对多关系,并使用延迟加载

1、数据库准备 CREATE TABLE role ( ID INT(11) NOT NULL COMMENT 编号,ROLE_NAME VARCHAR(30) DEFAULT NULL COMMENT 角色名称,ROLE_DESC VARCHAR(60) DEFAULT NULL COMMENT 角色描述,PRIMARY KEY (ID) ) ENGINEINNODB DEFAULT CHARSETutf8;INSERT INTO role(ID,ROLE_NAME,…

.Net中堆栈和堆的区别

首先堆栈和堆&#xff08;托管堆&#xff09;都在进程的虚拟内存中。&#xff08;在32位处理器上每个进程的虚拟内存为4GB&#xff09; 堆栈stack 1、堆栈中存储值类型 2、堆栈实际上是向下填充&#xff0c;即由高内存地址指向低内存地址填充 3、堆栈的工作方式是先分配内存的变…

SpringMvc的执行过程

Tomcat启动 1、部署项目到Tomcat中 2、启动Tomcat加载Web.xml 3、初始化DispatcherServlet(执行的是init方法) 4、加载配置文件&#xff0c;创建对象交给Spring容器管理 5、通过处理器映射器解析RequestMappin配置&#xff0c;配置‘请求地址’和‘控制器类’的映射关系 小结&a…

自然语言理解——introduction

1.基本概念&#xff1a; NLP&#xff1a;自然语言处理是研究如何利用计算机技术对语言文本&#xff08;句子、篇章或话语等&#xff09;进行处理和加工的一门学科&#xff0c;研究内容包括对词法、句法、语义和语用等信息的识别、分类、提取、转换和生成等各种处理方法和实现技…

利用自定命令打开常用软件,小白秒变大神。

不多说&#xff0c;先来个效果&#xff0c;WIINR打开运行&#xff0c;输入qq(小编自定的命令)&#xff0c;就能打开。 实现步骤&#xff1a; 1、找到快捷方式(以腾讯QQ为例) 2、将腾讯QQ快捷方式复制粘贴到C:\Windows,并修改名称 3、测试&#xff0c;winr代开运行&#xff0c;…

rpm的用法 详解

Linux rpm 命令参数使用详解&#xff3b;介绍和应用&#xff3d; RPM是RedHat Package Manager&#xff08;RedHat软件包管理工具&#xff09;类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包&#xff08;Binary&#xff09;以及源代码包&#xff08;Source&#x…

Android与Libgdx环境配置

此处所说的是基于windows和android版本的libgdx环境配置。 1. 下载所需软件 JDK 1.7。 下载地址&#xff1a; window x86版本地址&#xff1a; http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html Android SDK。 在android官网上下载最新版…

问题之sqlyou的使用

当数据过大时一定要注意sqlyou每页只能显示1000条数据

浅蓝色设计类网站模板

浅蓝色设计类网站模板是一款高端大气的设计css3企业网站模板。 模板地址&#xff1a;http://www.huiyi8.com/sc/8673.html 转载于:https://www.cnblogs.com/xkzy/p/3765371.html

总结1:Ajax上传图片至阿里云服务器

1.页面效果以及JS <!-- HTML --> <div style"margin:30px;"><div class"form-horizontal rowt"><div class"control-label col-lg-1">标书分类</div><div class"col-lg-2"><select required&q…

总结4:input文本输入框自动提示

1、页面效果 2、引入CSS/JS <link rel"stylesheet" href"css/jquery-ui.min.css"><script src"https://code.jquery.com/jquery-1.12.4.js"></script><script src"https://code.jquery.com/ui/1.12.1/jquery-ui.js&qu…

MySql数据同步FEDERATED引擎

概要&#xff1a;FEDERATED存储引擎访问在远程数据库的表中的数据&#xff0c;而不是本地的表。这个特性给某些开发应用带来了便利&#xff0c;你可以直接在本地构建一个federated表来连接远程数据表&#xff0c;配置好了之后本地表的数据可以直接跟远程数据表同步。实际上这个…