Java中的数据结构有哪些?HashMap的工作原理是什么?

Posted *青锋*

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中的数据结构有哪些?HashMap的工作原理是什么?相关的知识,希望对你有一定的参考价值。

Java中常用数据结构

常用的数据结构有哈希表,线性表,链表,java.util包中有三个重要的接口:List,Set,Map常用来实现基本的数据结构

HashMap的工作原理

HashMap基于hashing原理,我们通过put(key,value)和get(key)方法存储和获取对象元素,当我们将key值传递给put()方法时,会自动调用对象元素的hashcode方法计算hashcode,然后根据hashcode确定对象元素具体存储的位置;

获取对象时,我们根据键对象的equals方法找到具体的键值对Entry,然后返回值对象;

hashmap使用链表方式解决hash冲突的问题,发生hash冲突时,会将对象存储在链表的下一个节点上

HashMap是线程不安全的,CourrentHashMap是线程安全的(利用分段锁锁住map的一部分)

以上是关于Java中的数据结构有哪些?HashMap的工作原理是什么?的主要内容,如果未能解决你的问题,请参考以下文章

java设计模式书籍,工作感悟

HashMap实现原理

(原)HashMap之java8新特性

面试中的hashmap

(转载)Java 8 认识 HashMap

HashMap中的key为啥是引用类型的,向HashMap中存储数据的时候,对于key应该注意哪些问题