黑马程序员技术交流社区
标题:
Map集合的两种遍历方式:keyset和Entry图解
[打印本页]
作者:
ulddfhv
时间:
2015-4-17 23:51
标题:
Map集合的两种遍历方式:keyset和Entry图解
KetSet:集合遍历之根据键找值
package cn.itcast.map;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
//Map集合的遍历之键找值
//分析:
//1.使用Map.keySet方法得到所有的Set(所有的key)
//2.遍历Set,就得到了每一个Key,在根据map.get(key),获取key对应的value.
public class MapDemo4 {
public static void main(String[] args) {
//1.定义Map集合,装入数据
Map<String, String> map = new HashMap<String, String>();
map.put("one", "aaa");
map.put("two", "bbb");
map.put("3", "ccc");
//2.得到所有的key
Set<String> keys=map.keySet();
//3.遍历keys这个Set集合,就得到了Map集合中所有的key
for(String key:keys){
//4.根据key获取对应的value.
System.out.println("key:"+key+" value:"+map.get(key));
}
}
}
复制代码
EntrySet:集合的遍历之键值对对象找键和值
package cn.itcast.map;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
//关于Map集合中的entrySet方法;
import static java.util.Map.*;
public class MapDemo5 {
public static void main(String[] args) {
// 1.定义Map集合,装入数据
Map<String, String> map = new HashMap<String, String>();
map.put("one", "aaa");
map.put("two", "bbb");
map.put("3", "ccc");
// 2.调用map集合的entrySet方法
Set<Entry<String, String>> set = map.entrySet();
// entrySet方法返回的是一个Set集合,而集合中的对象是Map.Entry类型,对于Entry,我们可以使用泛型来规范它,它的泛型就是Map集合的泛型
for (Entry<String, String> en : set) { // 从Set集合中遍历出来的就是Map.Entry类型对象
System.out.println(en.getKey() + " " + en.getValue()); // 可以通过Map.Entry的getKey,getValue,获取对应的key与value.
}
}
}
/*
* Set<Map.Entry<K, V>> entrySet(); entrySet方法的返回值是Set集合,集合中的元素是 Map.Entry
*
* 通过查找源代码发现 Entry是一个接口,而这个接口是定义在Map接口中。
*/
复制代码
图解
qqqqqqqq.png
(76.69 KB, 下载次数: 13)
下载附件
2015-4-17 23:51 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2