Map——如何根据key取value,以及不指定key取出所有的value

该文章已生成可运行项目,

根据key取其value

Map<String, String> map = new HashMap<String, String>();
        map.put("b", "4");
        map.put("a", "5");
        map.put("c", "3");
        map.put("d", "5");
     // 根据key获取 其value
        System.out.println("通过key获取 其value");
        System.out.println("key 'what'的value为:"+map.get("a")+"\n");

不知key取map里的value值——用map.keySet()

 //map.keySet() 先获取map对象的所有key值,再循环遍历获取各个key对应的value;
        System.out.print("通过 map.keySet() 得到key,然后获取value\n");
        for(String key : map.keySet()){
            String value = map.get(key);
            System.out.println(key+"  "+value);
        }

不知key取map里的value值——用Iterator 迭代

//使用迭代器,获取key;
        System.out.print("通过迭代器,获取key,然后获取value\n");
        Iterator<String> iter = map.keySet().iterator();
        while(iter.hasNext()){
            String key=iter.next();
            String value = map.get(key);
            System.out.println(key+" "+value);
        }

不知key取map里的value值——用map.entrySet()

        //通过map.entrySet()方法
        System.out.print("通过map.entrySet()循环map里面的每一对键值对,然后获取key和value\n");
        for(Map.Entry<String, String> vo : map.entrySet()){
            vo.getKey();
            vo.getValue();
            System.out.println(vo.getKey()+"  "+vo.getValue());
        }

源码

public class Maptest {

    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("b", "4");
        map.put("a", "5");
        map.put("c", "3");
        map.put("d", "5");

        //  获取指定 key 的value
        System.out.println("通过key获取 其value");
        System.out.println("key 'what'的value为:"+map.get("a")+"\n");
        // 获取map的所有key
        System.out.print("获取map的所有key\n");
        System.out.print("map.keySet():"+map.keySet()+"\n");
        //获取map中所有 value
        System.out.print("获取map中所有 value\n");
        System.out.print("map.values():"+  map.values()+"\n");

        //通过 map.keySet() 得到key的值,然后获取value;
        System.out.print("通过 map.keySet() 得到key,然后获取value\n");
        for(String key : map.keySet()){
            String value = map.get(key);
            System.out.println(key+"  "+value);
        }
        //使用迭代器,获取key;
        System.out.print("通过迭代器,获取key,然后获取value\n");
        Iterator<String> iter = map.keySet().iterator();
        while(iter.hasNext()){
            String key=iter.next();
            String value = map.get(key);
            System.out.println(key+" "+value);
        }
        //通过map.entrySet()方法
        System.out.print("通过map.entrySet()循环map里面的每一对键值对,然后获取key和value\n");
        for(Map.Entry<String, String> vo : map.entrySet()){
            vo.getKey();
            vo.getValue();
            System.out.println(vo.getKey()+"  "+vo.getValue());
        }

}
}

运行结果

通过key获取 其value
key 'a'value为:5

获取map的所有key
map.keySet():[a, b, c, d]
获取map中所有 value
map.values():[5, 4, 3, 5]
通过 map.keySet() 得到key,然后获取value
a  5
b  4
c  3
d  5
通过迭代器,获取key,然后获取value
a 5
b 4
c 3
d 5
通过map.entrySet()循环map里面的每一对键值对,然后获取key和value
a  5
b  4
c  3
d  5

总结

待续

本文章已经生成可运行项目
源码下载地址: https://pan.quark.cn/s/a4b39357ea24 【运算单元构造实验报告】运算单元是计算机硬件系统中的关键构成部分,主要承担执行算术运算和逻辑运算的任务。在本次实验中,我们着重探讨了带有累加器的运算单元的设计,涵盖了溢出识别、有符号数值与无符号数值运算的差异性,以及采用补码方式进行的加法与减法运算的实现机制。 一、实验目标 1. 掌握运算单元的基本构造,理解带有累加器的运算单元的具体实现途径。 2. 学习并领会溢出检测的机制,能够设计并构建溢出检测电路,用以判定运算结果是否超出了数据类型的表示范畴。 3. 明辨有符号数值和无符号数值运算的同特性,把握它们在运算过程中各自的处理方法。 4. 熟练掌握基于补码方式的加法与减法运算的执行,理解补码形式下的溢出判定准则。 5. 熟悉运算单元内部的数据传输路线,明晰数据在运算过程中的流转路径。 6. 设计一个能够支持有符号数值与无符号数值运算、补码加法/减法运算以及有符号数值溢出检测的运算单元电路。 二、实验仪器 采用JZYL—Ⅱ型计算机组成原理实验装置,配备2片74181运算单元芯片作为算术逻辑单元(ALU),2片74LS373用作八位D型锁存器,并辅以一些基础门电路和多路选择器来完成电路设计。 三、实验内容 1. 运用片74181构建一个8位运算单元,负责处理数据的高4位与低4位。 2. 设计并实现溢出检测电路,确保在有符号数值与无符号数值的加法运算中均能准确识别溢出状况。 3. 通过74LS373增加累加器功能,使运算结果得以保存。 4. 将所有设计整合,利用多路选择器来支持有符号数值与无符号数值的加法/减法运算。 四、实验电路 1. 8位运算单元由2片74181构成,通过控制...
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值