美文网首页
Java:Map集合

Java:Map集合

作者: 杨殿生 | 来源:发表于2018-08-17 15:26 被阅读0次
Java中Map集合.png

HashTable

HashTable与HashMap区别
HashTable key不能为null,不能存储null值,
HashTable 线程不安全,
剩下的与HashMap一致

HashMap

HashMap中维护了一个Hash表,如果有Hash冲突那么使用链表连接冲突结点,这里需要复写存储的对象的hashCode()和equals()方法,在存入Hash表中的时候会先计算key的hash值,如果hash值有冲突会用equals去比较值是否相同,如果值也相同那么就写到一个列表中,Java8之后链表中如果链表超过一定长度链表变成红黑树提高查找效率
HashMap key可以为null,可以存储null值,线程不安全

LinkedHashMap

与HashMap相同,区别是维护了一个链表用来保证存储数据的顺序,可按存储数据顺序取出

TreeMap

底层维护了红黑树,保证了存储的顺序性,所以存储的key需要复写equals方法

相关文章

网友评论

      本文标题:Java:Map集合

      本文链接:https://www.haomeiwen.com/subject/dchlbftx.html