Map三种遍历方式
2015-10-26 16:55
344 查看
第一种:
最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的。
Java代码
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.HashMap;
/**
* 1.把值放到一个集合里,然后遍历集合
*/
public class TraversalMap1 {
private static Map<Integer, String> map;
private static TraversalMap1 getMap(){
map = new HashMap<Integer, String>();
for(int i = 0 ; i < 10 ; i ++){
if(map.isEmpty()) map.put(i, "String " + i);
else if(map.get(i) == null) map.put(i,"String " + i) ;
}
return null;
}
public static void main(String[] args){
getMap();
Collection<String> c = map.values();
Iterator i = c.iterator();
for(; i.hasNext() ;){
System.out.println(i.next());//遍历出map内的所有value
}
}
}
第二种:
利用keyset进行遍历,它手优点在于可以根据你所想要的key值得到你想要的values,更具灵活性。
Java代码
import java.util.Set;
import java.util.Iterator;
import java.util.Map;
import java.util.HashMap;
/**
* 2.把key放到一个集合里,遍历key值同时根据key得到值
*/
public class TraversalMap2 {
private static Map<Integer, String> map;
private static TraversalMap2 getMap(){
map = new HashMap<Integer, String>();
for(int i = 0 ; i < 10 ; i ++){
if(map.isEmpty()) map.put(i, "String " + i);
else if(map.get(i) == null) map.put(i,"String " + i) ;
}
return null;
}
public static void main(String[] args){
getMap();
Set set = map.keySet();
Iterator i = set.iterator();
for(; i.hasNext() ;){
System.out.println(i.next());//遍历出map内的所有key
}
}
}
第三种:
比较复杂的一种遍历在这里,呵呵~~它很暴力哦,它的灵活性太强了,想得到什么就能得到什么~~
Java代码
import java.util.Map;
import java.util.HashMap;
/**
* 3.把一个map对象放到放到entry里,然后根据entry同时得到key和value
*/
public class TraversalMap3 {
private static Map<Integer, String> map;
private static int num = 0 ;
private static String str = "";
private static TraversalMap3 getMap(){
map = new HashMap<Integer, String>();
for(int i = 0 ; i < 10 ; i ++){
if(map.isEmpty()) map.put(i, "String " + i);
else if(map.get(i) == null) map.put(i,"String " + i) ;
}
return null;
}
public static void main(String[] args){
getMap();
for(Map.Entry<Integer, String> entry : map.entrySet()){
num = entry.getKey();
str = entry.getValue();
System.out.println("the map key is : " + num + " || the value is : " + str);//显示出map的key和value
}
}
}
最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的。
Java代码
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.HashMap;
/**
* 1.把值放到一个集合里,然后遍历集合
*/
public class TraversalMap1 {
private static Map<Integer, String> map;
private static TraversalMap1 getMap(){
map = new HashMap<Integer, String>();
for(int i = 0 ; i < 10 ; i ++){
if(map.isEmpty()) map.put(i, "String " + i);
else if(map.get(i) == null) map.put(i,"String " + i) ;
}
return null;
}
public static void main(String[] args){
getMap();
Collection<String> c = map.values();
Iterator i = c.iterator();
for(; i.hasNext() ;){
System.out.println(i.next());//遍历出map内的所有value
}
}
}
第二种:
利用keyset进行遍历,它手优点在于可以根据你所想要的key值得到你想要的values,更具灵活性。
Java代码
import java.util.Set;
import java.util.Iterator;
import java.util.Map;
import java.util.HashMap;
/**
* 2.把key放到一个集合里,遍历key值同时根据key得到值
*/
public class TraversalMap2 {
private static Map<Integer, String> map;
private static TraversalMap2 getMap(){
map = new HashMap<Integer, String>();
for(int i = 0 ; i < 10 ; i ++){
if(map.isEmpty()) map.put(i, "String " + i);
else if(map.get(i) == null) map.put(i,"String " + i) ;
}
return null;
}
public static void main(String[] args){
getMap();
Set set = map.keySet();
Iterator i = set.iterator();
for(; i.hasNext() ;){
System.out.println(i.next());//遍历出map内的所有key
}
}
}
第三种:
比较复杂的一种遍历在这里,呵呵~~它很暴力哦,它的灵活性太强了,想得到什么就能得到什么~~
Java代码
import java.util.Map;
import java.util.HashMap;
/**
* 3.把一个map对象放到放到entry里,然后根据entry同时得到key和value
*/
public class TraversalMap3 {
private static Map<Integer, String> map;
private static int num = 0 ;
private static String str = "";
private static TraversalMap3 getMap(){
map = new HashMap<Integer, String>();
for(int i = 0 ; i < 10 ; i ++){
if(map.isEmpty()) map.put(i, "String " + i);
else if(map.get(i) == null) map.put(i,"String " + i) ;
}
return null;
}
public static void main(String[] args){
getMap();
for(Map.Entry<Integer, String> entry : map.entrySet()){
num = entry.getKey();
str = entry.getValue();
System.out.println("the map key is : " + num + " || the value is : " + str);//显示出map的key和value
}
}
}
相关文章推荐
- 第七周项目5-排队看病模拟
- CUDA 图像处理使用纹理内存与不使用纹理内存对比
- 第八周上机实践—项目5—计数的模式匹配
- 第9周项目1——猴子选大王(数组版)
- [前端] 能过本地IP测试手机页面
- oracle查看数据文件, 控制文件, 及日志文件命令
- 第七周项目2建立链队算法库
- 第8周 项目4 - 字符串加密
- 顺序串算法
- Qt添加界面文件的背景图片
- centos linux 上安装nginx+php的正确配置
- oracle日志目录查看
- linux c 实现字符串替换
- Java总结--线程基础
- Redis源代码分析(二十八)--- object创建和释放redisObject物
- Android控件属性大全(转)
- 第8周实践项目4-字符串加密
- android 广告轮播小圆点封装
- 第七周-建立顺序环形队列算法库
- 第八周项目2-建立链串的算法库