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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.itheima.cn;

import java.util.*;

/**
* 遍历集合的两种方式:
* 1、通过获取键的集合,遍历键的集合,通过键获取值
* 2、通过键值对集合,遍历键值对对象,分别取得键值
*
* @author alex
*
*/
public class HashMapDemo {
        public static void main(String[] args) {
                //创建一个HashMap集合给定两个泛型
                HashMap<Integer, String> hm = new HashMap<Integer, String>();
                //添加元素
                hm.put(1, "小明");
                hm.put(2, "小鹏");
                hm.put(3, "小亮");
                hm.put(4, "小康");
                method(hm);
                method_1(hm);
        }

        /**
         * 1、通过获取键的集合,遍历键的集合,通过键获取值
         * @param hm
         */
        private static void method(HashMap hm) {
                //获取键集合
                Set<Integer> set = hm.keySet();
                //进行迭代遍历调用get方法传递键获得值,打印
                for (Integer ig : set) {
                        System.out.println(hm.get(ig));
                }
        }
        /**
         *  2、通过键值对集合,遍历键值对对象,分别取得键值
         * @param hm
         */
        private static void method_1(HashMap hm){
                //调用entrySet 获取键值对,存入集合
                        Set set = hm.entrySet();
                        //进行迭代,我把类型设定为Object,把遍历后的元素调用split方法根据“=”为切割点,
                        //然后用一个String数组接收切割后的元素
                        for(Object str: set){
                                String[] arr = str.toString().split("=");
                                //根据下标分别打印,Key,value
                                for (int i = 0; i < arr.length-1; i++) {
                                        System.out.print("Key: "+arr[i]);
                                        System.out.print(" Value: "+arr[i+1]);
                                        System.out.println();
                                }
                               
                        }
        }
       
}

0 个回复

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