使用多种方式实现遍历HashMap的方法
今天讲解的主要是使用多种方式来实现遍历hashmap取出key和value,首先在java中如果想让一个集合能够用for增强来实现迭代,那么此接口或类必须实现iterable接口,那么iterable究竟是如何来实现迭代的,在这里将不做讲解,下面主要讲解一下遍历过程。
//定义一个泛型集合 map<string, string> map = new hashmap<string, string>(); //通过map的put方法向集合中添加数据 map.put("001", "刘备"); map.put("002", "曹操"); map.put("003", "孙权");
方式一:使用该map接口的keyset方法来实现
问题:我们都知道map接口并没有实现iterable接口,为什么能用他的ketset方法就能实现迭代呢?
解析:因为keyset方法返回此映射中包含的键的 set 视图,这个方法竟然能返回一个set试图,也就说他的返回值类型是一个set接口,我们可以通过api文档看到set接口他是实现了iterable接口,所以能实现迭代。
//调用keyset方法放回一个set接口类型 set<string> set = map.keyset(); //使用for增强来取出key和value for (string item : set) { system.out.println("key是:" + item + ";value值是:" + map.get(item)); }
方式二:使用map接口的values方法实现(for增强)
同理:调用map接口的values方法他放回一个collection试图,collection接口他又实现了iterable接口,所以能够迭代。
collection<string> con = map.values(); for (string item : con) { system.out.println("value值是:" + item); }
方式三:使用map接口的entryset方法实现(for增强)
entryset:entryset()的返回值也是返回一个set集合,此集合的类型为map.entry,map.entry是map声明的一个内部接口,此接口为泛型,定义为entry<k,v>。它表示map中的一个实体(一个key-value对)。
set<entry<string, string>> setentry = map.entryset(); for (entry<string, string> item : setentry) { system.out.println("key是:" + item.getkey() + ";value值是:" + item.getvalue()); }
方式四:使用map接口的keyset().iterable()(while循环)
iterable():返回在此 set 中的元素上进行迭代的迭代器。返回的元素没有特定的顺序(除非此 set 是某个提供顺序保证的类的实例)。返回值类型iterator<e>
iterator<string> it = map.keyset().iterator(); //如果仍有元素可以迭代,则返回 true。 while (it.hasnext()) { //获取key值 string key = it.next(); system.out.println("key是:" + key + ";value值是:" + map.get(key)); }
方式五:使用map接口的value.iterable()(while循环)
iterator<string> it1 = map.values().iterator(); while (it1.hasnext()) { string value = it1.next(); system.out.println("value值是:" + value); }
方式六:使用map接口的entryset().iterable()(while循环)
iterator<entry<string, string>> it2 = map.entryset().iterator(); while (it2.hasnext()) { entry<string,string> entry=it2.next(); system.out.println("key是:" + entry.getkey() + ";value值是:" + entry.getvalue()); }
以上这篇使用多种方式实现遍历hashmap的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: Spring搭配Ehcache实例解析
推荐阅读
-
使用多种方式实现遍历HashMap的方法
-
使用XML库的方式,实现RPC通信的方法(推荐)
-
使用XML库的方式,实现RPC通信的方法(推荐)
-
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
-
C#使用yield关键字让自定义集合实现foreach遍历的方法
-
C#使用yield关键字让自定义集合实现foreach遍历的方法
-
使用php实现下载生成某链接快捷方式的解决方法_PHP
-
双飞翼布局、圣杯布局、定位方法布局、flex布局(三栏布局的多种实现方式)--html基本知识(学习笔记)
-
android使用Messenger绑定Service的多种实现方法
-
android使用Messenger绑定Service的多种实现方法