文档章节

java Map及Map.Entry详解

c
 chuiyuan
发布于 2014/04/28 22:29
字数 334
阅读 851
收藏 0

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(); 

     }



Entry是Map中的一个内部累,map.entrySet()可以得到key和value的视图给你一个比较简单的小事例
public static void main(String[] args) {
		Map map = new HashMap();
		map.put("key1", "value1");
		map.put("key2", "value2");
		map.put("key3", "value3");
		map.put("key4", "value4");
		
		Set set = map.keySet();//将map的kye放到set里了
		Iterator iter = set.iterator();
		while(iter.hasNext()){
			String key =  (String)iter.next();
			System.out.println("key=" + key + "  value=" + map.get(key));
		}
		
		System.out.println("----------------------------------------------------");
		Iterator iter1 = map.entrySet().iterator();
		while(iter1.hasNext()){
			Map.Entry me = (Map.Entry)iter1.next();
			System.out.println("key=" + me.getKey() + " value=" + me.getValue());
		}
}


© 著作权归作者所有

共有 人打赏支持
c
粉丝 9
博文 92
码字总数 40993
作品 0
海淀
HashMap底层实现(源码分析)

一、数据结构 Map将实际数据存储在Entry类的数组中。 代码片段: Java代码 transient Entry[] table;//HashMap的成员变量,存放数据 static class Entry<K,V> implements Map.Entry<K,V> {/......

pricker
2015/07/20
0
0
【目录导航】JAVA零基础进阶之路

【JAVA零基础入门系列】(已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day6 Java字符串 Day7 Java输入与输出...

MFrank
06/21
0
0
594. Longest Harmonious Subsequence - LeetCode

Question 594. Longest Harmonious Subsequence Solution 题目大意:找一个最长子序列,要求子序列中最大值和最小值的差是1。 思路:构造一个map,保存每个元素出现的个数,再遍历这个map,算出每...

yysue
07/22
0
0
第三章 spring-bean之SimpleAliasRegistry(2)

前言 AliasRegistry的实现类,嗯,嗯,嗯,一个很简单的实现。只有一个map。 源码解读 接口 AliasRegistry 实现 SimpleAliasRegistry 内部使用 ConfigurationClassBeanDefinitionReader bea...

鸟菜啊
07/17
0
0
From Java to Dart

前言 帮助你快速入门 Dart Print to Console Java System.out.print("Hello, World"); System.out.println("Hello, World"); Dart print('Hello, World!'); Constants and Variables Java S......

Pape
07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

go语言学习总结

一、描述 go语言是直接将源码编译成二进制机器码的语言;它支持面向对象、也支持函数式编程;支持并发很容易; 二、基本语法学习路径 https://studygolang.com/subject/2...

盼望明天
29分钟前
2
0
JSP 九大内置对象及其作用域

JSP 中一共预先定义了 9 个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception ,下面就简单介绍下。 1、request 对象 request 对象...

几个栗子
40分钟前
1
0
Java中的坑之方括号

Java中的坑之方括号 这一段时间,在做项目的时候,发现了一个坑,这个坑说大不大,说小不小,不知道的足够喝一壶,知道的就可以轻松解决。 问题描述 在做数据统计的时候,遇见了如下形式的数...

星汉
50分钟前
2
0
[雪峰磁针石博客]python机器学习、web开发等书籍汇总

Building Machine Learning Systems with Python Third Edition - 2018.pdf 下载地址 Get more from your data by creating practical machine learning systems with Python Key Features ......

python测试开发人工智能安全
今天
1
0
文件的压缩与解压(linux)

Linux下*.tar.gz文件解压缩命令 1.压缩命令:   命令格式:tar -zcvf 压缩后文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: ...

qimh
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部