Map常用子类和常用方法

Map常用子类

java,util. HoshNap<k,v>集合impLements Map<k, v>接口

HashMap集合的特点:
  1.HashMap集合底层是哈希表:查询的速度特别的快

    JDK1.8之前:数组+单向链表

    JDK1.8之后:数组+单向链表/红黑树(链表的长度超过8:提高查询的速度

  2.hashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一致

java.util.LinkedHashMap<k, v>集合extends HashMap<k, v>集合

LinkedHashMap的特点:

  1.LinkedHashNap集合底层是哈希表+链表(保证送代的顺序)

  2.LinkedHashNap集合是一个有序的集合、存储元素和取出元素的顺序是一致的

Map常用方法

复制代码
public static void main(String[] args) {
//        showe1();
//        show2();
//        show3();
        show4();
    }

    /*
    public v put(K key, v value):把指定的键与指定的值添加到Map集合中。
    返回值:v
            存储键值对的时候, key不重复,返回值v是nulL
    存储键值对的时候, key重复,会使用新的value替换map中重复的value,返回被替换的value值
    */
    private static void showe1() {
//创建Map集合对象,多态
        Map<String, String> map = new HashMap<>();
        String v1 = map.put("李信", "公孙离");
        System.out.println("v1: " + v1);
        String v2 = map.put("李信", "公孙离");
        System.out.println("v2 : " + v2);
        System.out.println(map);

        map.put("刀锋","幽灵刀锋");
        map.put("赛斯","疯狂宝贝");
        map.put("贝利亚","奥特曼");
        System.out.println(map);
    }
    /*
    public V remove(Object key):把指定的键所对应的键值对元素在Nap集合中删除,返回被删除元素的值
    返回值:v
            key存在,v返回被删除的值key不存在,v返回null
     */
    private static void show2(){
        //创建Map集合对象
        Map<String , Integer> map = new HashMap<>();
        map.put("绿巨人" ,168);
        map.put("钢铁",165);
        map.put("蜘蛛",178);
        System.out.println(map);
        Integer v1 = map. remove("绿巨人");
        System.out.println( "v1: "+v1);

        System.out.println(map);

        Integer v2 = map.remove( "绿巨人");
        System.out.println( "v2 : "+v2);
        System.out.println(map);

    }

    /*
        public v get(0bject key)根据指定的键,在Nap集合中获取对应的值。
             返回值:
        key存在,返回对应的value值key不存在,返回null
     */
    private static void show3(){
        //创建Map集合对象
        Map<String , Integer> map = new HashMap<>();
        map.put("美国队长",168);
        map.put("蚁人",165);
        map.put("黄蜂",178);
        Integer v1 = map.get("蚁人");
        System.out.println("v1 : "+v1);//v1:165
        Integer v2 = map.get("鹰眼");
        System.out.println( "v2 : "+v2);
    }
    /*
        booLean containskey(object key)判断集合中是否包含指定的键。包含返回true,不包含返回faltse
     */
    private static void show4(){
        //创建Map集合对象
        Map<String , Integer> map = new HashMap<>();
        map.put("神奇女侠",168);
        map.put("铁人",165);
        map.put("灭霸",178);
        boolean b1 = map.containsKey("神奇女侠");
        System.out.println("b1: "+b1);
        boolean b2 = map.containsKey("铁人");
        System.out.println( "b2 : "+b2);

    }
复制代码

 

复制代码
Map map =  new HashMap();    //创建map
1、添加
map.put("1","小说")
putAll(Map<? extends K,? extends V> m)     //从指定映射中将所有映射关系复制到此映射中(可选操作)。
2、删除
map.remove("1")    //删除指定key的键值对,返回被删除的key关联的value,不存在返回null
map.remove("1","小说")    //删除指定的键值对,成功返回true
map.clear()    //删除map中的所有键值对
3、计数
map.size()    //返回map中键值对的个数
4、判断
map.isEmpty()    //判断是否为空
map.containsKey("1")    //判断Map中是否包含指定的Key
map.containsValue("小说");    //判断Map中是否包含指定的Value
5、取值
map.get("1")    //返回指定Key对应的Value,不存在则返回null
Collection set = map.entrySet()    //返回Map中键值对所组成的Set集合,集合元素是Map.Entry(Map的内部类)对象
Collection set = map.keySet()  //返回Map中的key的Set集合
Collection set = mat.values()    //返回的是Map里所有的value组成的Collection
复制代码

 

posted @   漁夫  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示