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 版权协议,转载请附上原文出处链接和本声明。