HashMap的见解随笔

HashMap的节点:

HashMap是一个键值对的集合,其中每个节点用Node<K,V>表示

static class Node<K,V> implements Map.Entry<K,V>{
    final int hash;
    final K key;
    V value;
    Node<K,V> next;
}

Node是一个内部类,key为键,value为值,next指向下一个元素,HashMap不是一个单纯的键值对,还包含下一个元素的引用。

HashMap的数据结构:

HashMap的数据结构为:数组 + 链表
数组的特点:查询效率高,插入和删除效率低。
链表的特点:查询效率低,插入和删除效率高。
因此HashMap分别利用了数组和链表的优点,使得查询和插入,删除的效率都很高。

HashMap存储元素以及读取元素的过程:

HashMap<String,Object> hm = new HashMap<String, Object>();
//s221对应张三
hm.put("s221","张三");
//n223对应李四
hm.put("n233","李四");
//通过key值可以获取"张三"
String zhang = hm.get("s221");

参考文献:

Android案例教程
HashMap 详解

注:以上均为自己参考总结,并不详细,只为自己理解参考所用,侵删。

posted @ 2022-04-10 14:38  沐乃伊  阅读(24)  评论(0编辑  收藏  举报