Map的遍历方法

imageMap的遍历方法

/*遍历map的两种方式:  keySet和entrySet类*/

public class Demo1 {
        public static void main(String[] args) {
            HashMap<Integer,String> map = new HashMap<Integer, String>();

            map.put(1, "姓名");
            map.put(2, "年龄");
            map.put(3, "性别");
            map.put(4, "住址");

            System.out.println(map);
            System.out.println();

           /*--------------------将value值保存在集合里   用集合遍历 ---->只能获取map的value值----------------*/
            Collection<String> col = map.values();
            for (String string : col) {
                System.out.println( "Collectin集合遍历map的value值: "+ string);
            }
            System.out.println();


           /*-----------------第一种遍历方式:借助于keySet-->把map中的key值映射到set集合中------------------*/
            Set<Integer> set = map.keySet();

            //1.增强for循环直接遍历
            for (String string : set) {
            System.out.println("key值: " + string + "  value值: " +  map.get(string));
            }

            //2.使用Set集合的Iterator迭代器
            Iterator<Integer>  it = set.iterator();
            while(it.hasNext()) {
                int Key = it.next();
                String value = map.get(Key);
                System.out.println("使用Set接口中的迭代器遍历: " + Key + " = " + value);
            }
            System.out.println();


          /*----------------------第二种遍历方式:借助于map的entrySet类----------------------------*/
            /*一:.使用Collectin集合遍历Entry类,但Collection没有迭代器,不能修改其值
             * 1.Entry是把键值对当做一个对象,从中获取键值对
             * 2.注意在Collection中写Entry类有两种方式,其导入的包不同
             * 3.下面的方法导入的包是分别是:
             *               import java.util.Map.Entry;
             *               import java.util.Map;
            */      
            //Collection<Map.Entry<Integer,String>> col1 = map.entrySet();
            Collection<Entry<Integer,String>> col1 = map.entrySet();
            for (Entry<Integer,String> entry:col1) {
                System.out.println( "Collectin集合遍历Entry类: "+ entry);
            }
            System.out.println();


            /*2.entry类加set接口和其迭代器的方法:
             * 1.Entry是把键值对当做一个对象,从中获取键值对
             * 2.注意在Set中写Entry类有两种方式,其导入的包不同
             * 下面的方法导入的包是分别是:
             *               import java.util.Map.Entry;
             *               import java.util.Map;
            */

            Set<Map.Entry<Integer,String>> set1 = map.entrySet();
           // Set<Entry<Integer,String>> set1 = map.entrySet();

            Iterator<Entry<Integer,String>> it1 = set1.iterator();

            /*遍历法一:增强for循环,但不能修改其值*/
            for (Entry<Integer, String> entry : set1) {
                System.out.println("Set集合遍历Entry类:" + entry);
            }
            System.out.println();

            /*遍历法二:迭代器遍历,也不能修改其值*/
            while(it1.hasNext()) {
                System.out.println("迭代器遍历Entry类: " + it1.next());
            }
        }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值