小白学java

小白学java第39天

HashSet:

        1.HashSet实现了Set接口

        2.HashSet实际上是HashMap

        3.可以存放null值,但是只有一个null

        4.HashSet不保证元素是有序的,取决于hash后,再确定索引的结果(即:不能保证存放元素的顺序和取出的顺序一致)

        5.不能有重复元素/对象 

Map(jdk 8)这里使用实现类HashMap进行介绍:

        1.Map与Collection并列存在,用于保存具有映射关系的数据:Key-Value(双列元素)

        2.Map中的Key和Value可以是任何引用类型的数据,会封装到HashMap#Node对象中

        3.Map中的Key不允许重复,原因和HashSet一样

        4.Map中的value可以重复

        5.Map的key可以为null,value也可以为null,注意key为null时只能有一个,而value可以有多个空

        6.常用String类作为Map的key

        7.key和value之间存在单向一对一关系,即通过指定的key总能找到对应的value

        8.一对key-value 是存放在一个HashMap#Node中的

Map接口的常用方法:

        1. put:添加

        2.remove:根据键删除映射关系

        3.get:根据键获取值

        4.size:获取元素个数

        5.isEmpty:判断个数是否为0

        6.clear:清除

        7.containsKey:查找键是否存在

Map的遍历方法:

        一,先取出key再根据key取出value

        1.增强for循环

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

        2.迭代器 iterator

        Iterator iterator = keyset.iterator();

        while (iterator.hasNext){
        0bject key = iterator.next();
        System.out.println(key + “-" +map.get(key));
        }        

        二,将所有的value取出

        Collection values = map.values();(这样就可以使用Collection所有的遍历方法)

        1.增强for

        2.迭代器

        三,通过EnterySet来获取k-v

        1.增强for

        2.迭代器

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值