A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王海生 中级黑马   /  2014-9-18 15:26  /  887 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.*;
public class MapQuChuMethod {

        /**
         * map集合的两种取出方式:
         * 1.keySet:将map中所有的键都存入到Set集合中。因为set具备迭代器,使用可以通过迭代器取出所有的键。
         *                         再根据get方法获取每个键对应的值。 (通过Set集合的迭代器取出Set集合中的键key)
         *                         通过Map集合中的get(key)方法获取键对应的值。
         *
         * Map集合的取出原理:将Map集合转成set集合,再通过迭代器取出。
         * 2.Set<Map.entry<k,v>> entrySet:将map集合中的映射关系存入到了set集合中,
         *                         而这个关系的数据类型就是:May.Entry。
         *
         * MayEntry 其实Entry也是一个接口,是May中的一个内部接口。
         * @param args
         */
        public static void main(String[] args) {
                // TODO 自动生成的方法存根

                Map<String, String> map = new HashMap<String,String>();
                map.put("01", "wang1");
                map.put("02", "wang2");
                map.put("03", "wang3");
                map.put("04", "wang4");
                //将map集合中的映射关系取出,存入到set集合中。
                Set<Map.Entry<String, String>> entryset = map.entrySet();
                Iterator<Map.Entry<String, String>> it = entryset.iterator();
                while(it.hasNext()){
                        //获取到了key的值,那么就可以通过map的get方法获取所有的值。
                        Map.Entry<String, String> key = it.next();
                        System.out.println(key.getKey());
                        System.out.println(key.getValue() );
                }
                /*
                //将map中的键存到Set集合中
                Set<String> ketset = map.keySet();
                //有了Set集合,就可以获取迭代器。
                Iterator<String> it = ketset.iterator();
                while(it.hasNext()){
                        //获取到了key的值,那么就可以通过map的get方法获取所有的值。
                        String key = it.next();
                        System.out.println(map.get(key));
                }
                */
        }

}

Map集合扩展知识点:

import java.util.HashMap;
import java.util.Iterator;

public class MapKuoZhang {

        /**
         * Map集合的扩展知识:
         * Map集合被使用时因为具备映射关系。
         *
         * " yureban" "01" "zhangsan"
         * " yureban" "02" "zhangsan1"
         * "jiuyeban" "01" "wangwu"
         * "jiuyeban" "02" "wangwu1"
         * @param args
         */
        public static void main(String[] args) {
                // TODO 自动生成的方法存根

                HashMap<String, String> yure = new HashMap<String, String>();
                yure.put("01", "zhangsan1");
                yure.put("02", "zhangsan2");
                yure.put("03", "zhangsan3");
                HashMap<String, String> jiuye = new HashMap<String, String>();
                jiuye.put("01", "wangwu1");
                jiuye.put("02", "wangwu2");
                jiuye.put("03", "wangwu3");
                HashMap<String, HashMap<String, String>> czbk = new HashMap<String, HashMap<String,String>>();
                czbk.put("yureban", yure);
                czbk.put("jiuyeban", jiuye);
               
                //遍历czbk,获取所有的教室。
                Iterator<String> it = czbk.keySet().iterator();
                while(it.hasNext()){
                        String roomName = it.next();
                        HashMap<String, String> room = czbk.get(roomName);
                        System.out.println(roomName);
                        getStudentInfo(room);
                }
//                getStudentInfo(yure);
//                getStudentInfo(jiuye);
        }
        public static void getStudentInfo(HashMap<String,String> roomMap){
                Iterator<String> it = roomMap.keySet().iterator();
                while(it.hasNext()){
                        String id = it.next();
                        String name = roomMap.get(id);
                        System.out.println(id+" "+name);
                }
        }

}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马