社交网站建设计划书,高端网站开发公司有哪些,长图片生成器在线制作,查询关键词密度网站的网址有哪些Java HashMap与Hashtable数据结构和特点HashSet简述
1.HashMap HashMap就是基于数组和链表的数据结构#xff1a;JDK1.7使用 数组单向链表#xff1b;JDK1.8使用 数组单向链表红黑树 HashMap有两个重要的参数#xff1a; 一个是负载因子 0.75#xff1a;表示数组使用率达…Java HashMap与Hashtable数据结构和特点HashSet简述
1.HashMap HashMap就是基于数组和链表的数据结构JDK1.7使用 数组单向链表JDK1.8使用 数组单向链表红黑树 HashMap有两个重要的参数 一个是负载因子 0.75表示数组使用率达到75%并且数组长度大于64扩容数组 一个是初始值大小 16表示数组的长度 特点HashMap线程不安全允许赋值为null 初始数组长度16 扩容2倍 面试题描述HashMap数据结构 构成数组单向链表红黑树数组存放的过程根据key的hash值经过经过计算取余得出当前元素应该存放在数组中的位置如果当前位置有值利用单向链表向下延伸延伸为单项链表因为单向链表的查询效率会随着元素的增多而大幅度下降所以在JDK1.8之后中加入了红黑树当单向链表的长度超过8 并且集合中的元素个数大于64 单向链表转换为红黑树如果数中的元素在后续减少到了6个则继续转换为单向链表 2.Hashtable 特点Hashtable线程安全不允许赋值为null数组初始为11 扩容2倍1 JDK1.0就存在 其余与HashMap相同 3.HashSet HashSet底层使用的是HashMap 因为HashSet中存储的元素与HashMap中存储的键key值 特点一致 特点无序、无下标、不能重复、线程不安全、允许为null