Java中HashMap的使用
Published on 2022-02-24 22:55 in Java中HashMap的使用 with dutrmp19

Java中HashMap的使用

Java 中 HashMap 的使用

  • 注意事项
  • curd
    • create
      • put(key, value)
    • update
      • replace(key, newValue)
    • retrieve
      • get(key)
      • containsKey(key)
      • containsValue(value)
      • keySet(): 获取 key 的集合
    • delete
      • remove(key): 删除某个键值对
      • clear(): 删除所有键值对
  • 遍历
    • foreach 结构
  • HashMap 的底层原理
    • 数据少时,数组+链表,数据多时,数组+红黑树
    • 容量永远为2的次方,初始容量为16
    • 加载因子:对应扩容的阈值, capacity * Load_Factor
    • 添加元素
      • hash的计算方式:异或(h = key.hashCode()) ^ (h >>> 16)
      • 插入:直接放入、扔到树里、连表尾部
import java.util.HashMap;
public class test {
public static void main(String[] args) {
HashMap<Integer, String> idToName = new HashMap<>();
// 新增数据
idToName.put(1, "John");
idToName.put(2, "Mary");
idToName.put(3, "Mike");
// 遍历输出
printIntToStrMap(idToName);
// 更新
idToName.replace(1, "Tom");
// 查找数据
System.out.println(idToName.get(1));
// 删除数据
idToName.remove(1);
printIntToStrMap(idToName);
}
public static void printIntToStrMap(HashMap<Integer, String> idToName) {
for (int id : idToName.keySet()) {
System.out.println(id + ": " + idToName.get(id));
}
}
}

参考资料

  1. HashMap 的底层原理

如果您有任何关于文章的建议,欢迎评论或在 GitHub 提 PR

作者:dutrmp19
本文为作者原创,转载请在 文章开头 注明出处:https://www.cnblogs.com/dutrmp19/p/15933968.html
遵循 CC 4.0 BY-SA 版权协议


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