map与set的遍历
map有四种方式:
1.直接遍历 keySet
2.使用Iterator //注意next放回的对象是map.Entry<K,V>,而使用的iterator是通过entrySet返回的一个set得到的
3.直接遍历 entrySet
4.遍历values(); //这种不能得到key
代码事例:
- package test;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
- import java.util.Set;
- /**
- * Map的遍历
- *
- * @author lin
- *
- */
- public class MapTest {
- public static void main(String[] args) {
- HashMap<String, Integer> map = new HashMap<String, Integer>();
- map.put("a", 1);
- map.put("b", 2);
- map.put("c", 3);
- /*
- * 用keySet()
- */
- Set<String> set = map.keySet();
- for(String key : set){
- int value = (Integer) map.get(key);
- System.out.println("key:" + key + " value:"+value);
- }
- /*
- * 用entrySet()
- * 注意:返回的是一个Set
- * 这个方法的Iterator.next()返回的才是Map.Entry<K,V> ,如果Set
- * 用这个方法的话,那么放回的不是Map.Entry<K,V>
- * 反正就是要主要Map与Set用这个方法遍历的不同
- */
- Set<Map.Entry<String, Integer>> set2 = map.entrySet();
- Iterator it = set2.iterator();
- while(it.hasNext()){
- Map.Entry<String, Integer> entry = (Map.Entry<String, Integer>)it.next();
- String key = entry.getKey();
- int value = entry.getValue();
- System.out.println("key:" + key + " value:" + value);
- }
- /*当map容量很大时,这个效率最高
- * 直接遍历entrySet()
- */
- for(Map.Entry<String, Integer> entry : map.entrySet()){
- System.out.println("key:" + entry.getKey() + " value:" + entry.getValue());
- }
- /*
- * 通过values遍历
- * 注意这种方法得不到key的
- */
- for(Integer value : map.values()){
- System.out.println("key:" + map.get(value) + " value:" + value);
- }
- }
- }
- package test;
- import java.util.HashSet;
- import java.util.Iterator;
- import java.util.Set;
- public class SetTest {
- public static void main(String[] args) {
- Set<String> set = new HashSet<String>();
- set.add("a");
- set.add("b");
- set.add("c");
- Iterator it = set.iterator();
- while(it.hasNext()){
- String key = (String)it.next();
- System.out.println("key:" + key);
- }
- }
- }
map与set的遍历的更多相关文章
- Java中Map的三种遍历方法
Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历. 告诉您们一个小秘密: (下↓面是测试代码,最爱看 ...
- map的4种遍历方式
System.out.println("key= "+ key + " and value= " + map.get(key)); } ...
- java map的四种遍历
四种遍历: public static void main(String[] args) { Map<String, String> map = new HashMap<String ...
- List<Map<String,String>>操作(遍历,比较)
1.List<Map<String,String>>的遍历: Map<String,String> map = new HashMap<String, Str ...
- Map的三种遍历
import java.util.*;/*** Map的三种遍历方式* @author Administrator**/public class m {public static void main( ...
- Map的四种遍历
//Map的四种遍历方法 public static void main(String[] args) { Map<String, String> map = new HashMap< ...
- Java集合list,map,set区别及遍历
1.1 List.Set.Map基本区别 1.List,Set都是继承Collection接口,Map不是. 2.List:LinkedList.ArrayList.Vector Set :HashS ...
- JavaScript中的Map、Set及其遍历
Map Map是一组键值对的结构,具有极快的查找速度. Map的定义. //空map设值key-value var m = new Map(); m.set("XiaoMing", ...
- Map<String, String>循环遍历的方法
Map<String, String>循环遍历的方法 Map<String, String>循环遍历的方法 Map<String, String>循环遍历的方法 下 ...
- Map 的四种遍历方式
Map 的四种遍历方式 import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class ...
随机推荐
- java类总结
1.java类与类之间存在六种关系:继承,实现,依赖,关联,聚合组成 2.一个类可以继承另外一个类,并在此基础上添加自己的特有的功能. 3.一个类的方法中操作另外一个类的对象,这种情况称为第一个类依赖 ...
- [ CodeVS冲杯之路 ] P1197
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1197/ 密钥的字母可以全转换为小写字母,然后一一映射,a→0,b→1,c→2,依此类推 对于密文只需将每一位减去对应密 ...
- GLib基础
实用功能 GLib中包含了近二十种实用功能,从简单的字符处理到初学者很难理解的XML解析功能,这里介绍两种较简单的:随机数和计时. 下面代码演示如何产生1-100之间的随机整数和演示如何计算30000 ...
- SQL 表值函数
表值函数返回的是一张表. 情况:把传入的字符串按指定分隔符转换成数组 理解:把字符串打散,逐个插入表,这个表就是需要的数据 Create Function [dbo].[Split] ( ), ) ) ...
- 视频运动motion vector获取。
http://victor.csie.org/blog/archives/362------------------------------------------------------------ ...
- activity的android:name 设置问题
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com. ...
- SVN与TortoiseSVN实战:属性的奇技淫巧(一)
硬广:<SVN与TortoiseSVN实战>系列已经写了六篇,本系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解,预计再用三.四篇来结束这个系列. 本篇详解一下SVN的属 ...
- 轻松入门React和Webpack
最近在学习React.js,之前都是直接用最原生的方式去写React代码,发现组织起来特别麻烦,之前听人说用Webpack组织React组件得心应手,就花了点时间学习了一下,收获颇丰 <!-- ...
- css3为图片添加鼠标移入放大效果
只需要为添加效果的图片定义一个伪类 img.zoom-img:hover { -webkit-transform: scale(1.15); -webkit-transition-timing-fun ...
- Android IOS WebRTC 音视频开发总结(二二)-- 多人视频架构模式
本文主要介绍多人视频会议服务端架构方式,文章来自博客园RTC.Blacker,转载必须说明出处,欢迎关注个人微信公众号blacker,更多详见www.rtc.help 随着移动互联网的迅速发展,很多公 ...