HashMap获取k - v或者只获取value的六种方法

public class test{
    public static void main(String[] args) {
        /**
         * 1.map和collection并列存在,map用于保存具有映射关系的Key-Value键值对
         *2.Map的键值对可以是任意的数据类型,底层的构造器显示传入Object父类,并且封装到HashMap$Node对象中
         *3.Map中的Key不允许重复,前面HashSet中讲过,但是Value是可以重复的,后面的key中的Value会替换掉前面的
         * 4.key和value都可以为null,但是key只能有一个null,value可以有无数个null
         * 5.String常用来做Key
         * 6.key和value存在单向的对应关系,可以通过key访问对应的value
         */

        Map map = new HashMap();//因为我们的hashmap存放元素底层是根据元素的Hash值存放的,因此存放顺序和取出顺序不一定一样
        map.put("1","hsp");
        map.put("2","ys");
        map.put("2","dsa");
        map.put(null,"hsp");
        map.put(null,"da");
        map.put(2,"ys");

        Set keyset = map.keySet();

        for (Object key : keyset) {
            System.out.println(key + " " + map.get(key));

        }
        System.out.println("=======================");
        Iterator iterator = keyset.iterator();
        while (iterator.hasNext()) {
            Object key = iterator.next();
            System.out.println(key + " " + map.get(key));
        }
        System.out.println("=======================");

        Collection values = map.values();
        for (Object o :values) {
            System.out.println(o);
        }

        System.out.println("=======================");
        Iterator iterator1 = values.iterator();
        while (iterator1.hasNext()) {
            Object value =  iterator1.next();
            System.out.println(value);
        }
        System.out.println("=======================");

        Set set = map.entrySet();
        for (Object o :set) {
            Map.Entry entry = (Map.Entry)o;
            System.out.println(entry.getKey() + " " + entry.getValue());
        }
        System.out.println("=======================");

        Iterator iterator2 = set.iterator();
        while (iterator2.hasNext()) {
            Object obj = iterator2.next();
            Map.Entry entry = (Map.Entry)obj;
            System.out.println(entry.getKey() + " " + entry.getValue());
        }


    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值