HashMap的常用方法

  • Post author:
  • Post category:其他


1.HashMap底是哈希表,查询速度非常快(jdk1.8之前是数组+单向链表,1.8之后是数组+单向链表/红黑树 ,链表长度超过8时,换成红黑树)

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

3.HashMap集合是不同步的,也就是说是多线程不安全,单速度快

package D6;

import java.sql.SQLOutput;
import java.util.HashMap;

public class C6c {
    public static void main(String[] args) {
        //     实例化HashMap
        HashMap<String, String> hm = new HashMap<String, String>();
        System.out.println(hm.isEmpty());//  true 是空的

        // 插入元素
        hm.put("s1", "java");hm.put("s3", "ghjgjghjg");
        hm.put("200", "mysqul");
        hm.put("s2", "javascript");//  key 一样,为覆盖
        System.out.println(hm);

        System.out.println(hm.isEmpty());// false 不是空的
        System.out.println(hm.size());//2元素

        System.out.println(hm.containsKey("s3"));//判断key有没有
        System.out.println(hm.containsKey("java"));//判断value有没有

        删除
         hm.clear();
         hm.remove("s1");//        根据key删除元素
         hm.remove("s1", "myjava");//根据key value删除元素

//        修改key 的 value 将旧的value返回 key如果没有,则返回null,不进行修改
        String str = hm.replace("s1", "java18");
        System.out.println(str);
        System.out.println(hm);

//        获取元素
        System.out.println(hm.get("s1"));//java
        System.out.println(hm.getOrDefault("s3",""));// 获取s3 存在返回对象,不存在使用默认值
        System.out.println(hm.get("s3"));//返回不存在的key value为null

       
    }

}

在这里插入图片描述



版权声明:本文为weixin_69953978原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。