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的一部分)