java28(map)

Map:

        Map不是collection的子接口或者实现类。Map是一个接口。set中很多底层方法都调用的是map。

        |--    Hashtable:底层是哈希表数据结构,不可以存入null键和null值,该集合是线程同步的。jdk1.0效率低

        |--    HashMap:底层是哈希表数据结构,允许使用null值和null键,该集合是不同步的。将hashtable替代。jdk1.2效率高

        |--    TreeMap:底层是二叉树数据结构。线程不同步。可以用于给map集合中的键进行排序

基本共性方法:

13091615-e1fa6d28e95521f9.png

Map集合的两种取出方法:

    1:keySet:将所有的键值存入到set集合中,然后通过迭代的方式取出set中的值。通过get来获取        

13091615-95a3033527063a45.png

    2:Set<Map.Entry<k,v>> entrySet  将map集合中的映射关系存入到set集合中。这个关系的数据类型就是Map.Entry (其实Entry也是一个接口,它是Map接口中的一个内部接口)

13091615-fd2e26b4cf3765e6.png

例1:对学生对象的年龄进行升序排序,且相同年龄相同姓名默认为一个人。不同地址之间进行覆盖操作(因此数据是以键值对的形式存在的可以使用TreeMap进行排序)

13091615-9a6d3934ce88418c.png
13091615-0581e60e21959d66.png

猜你喜欢

转载自blog.csdn.net/weixin_33778778/article/details/87054201
今日推荐