首页 > 其他分享 >记hashmap

记hashmap

时间:2023-11-15 21:26:14浏览次数:27  
标签:map 存储 hashmap 性能 hashtable null

hashmap是map接口的一个实现类,在同步的情况下hashmap的性能是比较好的

 

hashmap就是一个kv键值对的集合,将数值散列均匀的存储在哈希表中。插入方法为map.put(k,v),读取方法为map.get(k,v)

允许使用null键和null值,会被默认为0

hashmap采用的是数组+链表的存储方式,当链表长度>8时会采用红黑树进行存储提高读取性能

当元素过多的时候,红黑树也无法提高性能,这时会发生扩容。将当前容量扩大2倍

 

与hashtable相比

hashmap的初始容量为16,hashtable为11。

hashmap会把null作为0存储,

hashmap性能更快,因为hashtable全程都会使用

但是当启用多线程时,hashmap在扩容时可能会遇到线程安全问题:容易发生死循环和插入失败。hashtable会启用同步锁

标签:map,存储,hashmap,性能,hashtable,null
From: https://www.cnblogs.com/kun1790051360/p/17834806.html

相关文章

  • Map---IdentityHashMap
    概述Thisclassimplementsthe<tt>Map</tt>interfacewithahashtable,usingreference-equalityinplaceofobject-equalitywhencomparingkeys(andvalues).Inotherwords,inan<tt>IdentityHashMap</tt>,twokeys<tt>k1<......
  • HashMap
     ......
  • Java集合—HashMap
    HashMap简介HashMap是一个散列表,它存储的内容是键值对(key-value)映射。HashMap实现了Map接口,根据键的HashCode值存储数据,具有很快的访问速度,最多允许一条记录的键为null,不支持线程同步。HashMap是无序的,即不会记录插入的顺序。HashMap继承于AbstractMap,实现了Map、Clone......
  • Hashtable和HashMap之间的区别
    HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道Hashtable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中,甚至会要求你实现HashMap来考察你的编程能力。C......
  • 缺乏底层知识的空中楼阁之——HashMap
    HashMapHashMap是基于哈希表对Map接口的实现HashMap提供所有可选的映射操作,允许使用空键空值newHashMap<>().put(null,null)当存在多个线程同时写入HashMap时,可能会导致数据的不一致 HashMap的底层实现: loadFactorthresholdsizemodCountINITLAL_CAPACITYHashMap......
  • 标题:Dubbo RPC开发中的序列化问题:深度解析反序列化导致的HashMap异常
    DubboRPC开发中的序列化问题:深度解析反序列化导致的HashMap异常在使用DubboRPC进行开发时,我们可能会遇到一些出乎意料的问题。其中之一就是在进行远程调用时,内部嵌套对象出现与预期不符的HashMap。这个问题的根源在于反序列化过程中找不到对象,导致解析成了HashMap。在这篇博客......
  • 开发时推荐使用Map map = new HashMap()
    Mapmap=newHashMap();Map是一个接口,HashMap是具体的实现类。由于接口就是多个类的共有规范(里面的抽象方法),是一种引用数据类型,一个抽象的概念,不能被实例化,因此接口需要由具体的类来实现。这条代码指明:由HashMap类来实现接口Map中描述的方法。HashMapmap=newHashMap(......
  • HashMap、TreeMap、Hashtable、HashSet和ConcurrentHashMap区别
    一、HashMap和TreeMap区别1、HashMap是基于散列表实现的,时间复杂度平均能达到O(1)。   TreeMap基于红黑树(一种自平衡二叉查找树)实现的,时间复杂度平均能达到O(logn)。2、HashMap、TreeMap都继承AbstractMap抽象类;TreeMap实现SortedMap接口,所以TreeMap是有序的!HashMap是无序的......
  • HashMap---jdk8
    概述HashtablebasedimplementationoftheMapinterface.Thisimplementationprovidesalloftheoptionalmapoperations,andpermits<tt>null</tt>valuesandthe<tt>null</tt>key.(The<tt>HashMap</tt>classis......
  • hashmap的小应用---投票去旅游
    在学习了map之后,使用简单的hashmap进行简单的全班同学投票旅游地点packagecom.itheima.myMap;importjava.util.*;importjava.util.function.BiConsumer;publicclassText2{publicstaticvoidmain(String[]args){//模拟投票Randomra=newRandom......