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的遍历的更多相关文章

  1. Java中Map的三种遍历方法

    Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历.   告诉您们一个小秘密: (下↓面是测试代码,最爱看 ...

  2. map的4种遍历方式

            System.out.println("key= "+ key + " and value= " + map.get(key));    }   ...

  3. java map的四种遍历

    四种遍历: public static void main(String[] args) { Map<String, String> map = new HashMap<String ...

  4. List<Map<String,String>>操作(遍历,比较)

    1.List<Map<String,String>>的遍历: Map<String,String> map = new HashMap<String, Str ...

  5. Map的三种遍历

    import java.util.*;/*** Map的三种遍历方式* @author Administrator**/public class m {public static void main( ...

  6. Map的四种遍历

    //Map的四种遍历方法 public static void main(String[] args) { Map<String, String> map = new HashMap< ...

  7. Java集合list,map,set区别及遍历

    1.1 List.Set.Map基本区别 1.List,Set都是继承Collection接口,Map不是. 2.List:LinkedList.ArrayList.Vector Set :HashS ...

  8. JavaScript中的Map、Set及其遍历

    Map Map是一组键值对的结构,具有极快的查找速度. Map的定义. //空map设值key-value var m = new Map(); m.set("XiaoMing", ...

  9. Map<String, String>循环遍历的方法

    Map<String, String>循环遍历的方法 Map<String, String>循环遍历的方法 Map<String, String>循环遍历的方法 下 ...

  10. Map 的四种遍历方式

    Map 的四种遍历方式 import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class ...

随机推荐

  1. Linux命令 find和mv的结合使用:查找文件,移动到某个目录

    显示前十个文件 [root@localhost smgpbi]# ls -1 | sort -u | head -10 1.首先查看文件个数,进入所在的文件 # find . -name " ...

  2. [SQL]不知道

    --COALESCE --返回其参数中第一个非空表达式. --语法 --COALESCE ( expression [ ,...n ] ) --参数 --expression --任何类型的表达式. ...

  3. php array函数实例应用

    array_diff_key() array_diff_assoc() array_count_values() array_combine() array_column() array_chunk( ...

  4. MySQL数据库优化技术之数据库表的设计

    三范式介绍表的范式:只有符合的第一范式,才能满足第二范式,进一步才能满足第三范式. 1. 第一范式:表的列具有原子性,不可再分解.只要是关系型数据库都自动满足第一范式.数据库的分类:关系型数据库:My ...

  5. JAVA面试题基础部分(三)

    20.接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?抽象类中是否可以有静态的main方法? 接口可以继承接口.抽象类可以实现 ...

  6. 挣值管理(EVT)

    如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 第二个大计算,根据PV.EV.AC计算出CV.SV.SPI.CPI.ETC.EAC. ...

  7. 让Windows7运行速度更快的BIOS优化设置教程

    和以前使用WindowsXP一样,很多用户都在设法提高windows7的系统运行速速,比较常见的方法大多是对系统服务进行优化,去掉一些可有可无的系统服务,还有就是优化资源管理器菜单等.除此之外,还有一 ...

  8. visio2007无法拖动

    连按两下键盘上的 “Esc” 键

  9. CSS 宝库

    Cascading Style Sheets, 层叠样式表单或者层叠样式表.简称CSS. 目的是为了表现HTML或者XML的样式. 可以做到网页内容和表现的分离.可以说,CSS是一种表现语言. h5禁 ...

  10. java web学习

    一直想下决心好好学下java web,但是总是间断,虽然我的方向是ios,但是觉得后台也是相当重要,毕竟移动端实际上更多也就是展示后台拉取到的信息,搞移动端的不能总是受制于后台,各位看官觉得呢? 这两 ...