Map集合的两种取出方式(keySet、entrySet)

来源:互联网 发布:sweet alert.min.js 编辑:程序博客网 时间:2024/04/27 05:09
/*
 * map集合的两种 取出方式:(map没有迭代器方法)
 *     1、Set<k> keySet:将map中的所有的键存入到Set集合,因为Set具备 迭代器。
 *         所以可以迭代方式取出所有的键,再根据get方法,获取每一个键对应的值。
 *         Map集合的取出原理:将map集合转成set集合,再通过迭代器取出
 *     2、Set<Map.Entry<k,v>> entrySet:将map集合中的映射关系存入到set集合中,
 *             而这个关系的数据类型就是:Map.Entry

 */

package map概述;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;/* * Map.Entry 其实Entry也是一个接口,它是Map接口中的一个内部接口 *//*interface Map{public static interface Entry{public abstract Object getKey();public abstract Object getValue();}}class HashMap implements Map.Entry{class HaHa implements Map.Entry{@Overridepublic Object getKey() {return null;}@Overridepublic Object getValue() {return null;}}////@Override//public Object getKey() {//return null;//}////@Override//public Object getValue() {//return null;//}}*/public class Test {public static void main(String[] args) {Map<String, String> map = new HashMap<String, String>();map.put("02", "zhangsan2");map.put("03", "zhangsan3");map.put("01", "zhangsan1");map.put("04", "zhangsan4");//方法1: 将Map集合中的映射关系取出,存入到Set集合中Set<Map.Entry<String, String>> entrySet = map.entrySet();Iterator<Map.Entry<String, String>> it = entrySet.iterator();while(it.hasNext()){Map.Entry<String, String> me = it.next();//关系对象Map.Entry获取到后,就可以通过Map.Entry中//getKey和getValue方法获取关系中的键和值String key = me.getKey();String value = me.getValue();System.out.println("key:"+key+"-->"+"value:"+value);}// 方法2:先获取map集合的所有键的Set集合,keySet().Set<String> keySet = map.keySet();// 有了Set集合,就可以获取其迭代器。Iterator<String> it2 = keySet.iterator();while (it2.hasNext()) {String key = it2.next();// 有了键 可以通过map集合的get方法获取其对应的值。String value = map.get(key);System.out.println("key:" + key + "-->" + value);}}}


0 0
原创粉丝点击