随笔 - 158  文章 - 0 评论 - 4 阅读 - 19万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  集合

HashMap之扩容机制
摘要:首先要了解HashMap的扩容过程,我们就得了解一些HashMap中的变量: Node<K,V>:链表节点,包含了key、value、hash、next指针四个元素 table:Node<K,V>类型的数组,里面的元素是链表,用于存放HashMap元素的实体 size:记录了放入HashMap的元素 阅读全文
posted @ 2020-03-23 18:12 一中晴哥威武 阅读(3520) 评论(0) 推荐(0) 编辑
可以用for循环直接删除ArrayList的特定元素吗?可能会出现什么问题?怎样解决?
摘要:输出结果:a, c, d 阅读全文
posted @ 2019-07-11 14:13 一中晴哥威武 阅读(2072) 评论(0) 推荐(0) 编辑
ArrayList、LinkedList、Vector的区别。
摘要:1、 对于ArrayList与Vector来说,底层都是采用数组方式来实现的 2、 ArrayList,LinkedList是不同步的,即线程不安全,而Vector是的。(线程安不安全) 3、 LinkedList底层是由双向循环链表实现的 4、 对于ArrayList,查找速度非常快,增加和删除操 阅读全文
posted @ 2019-03-22 16:19 一中晴哥威武 阅读(139) 评论(0) 推荐(0) 编辑
HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底层实现
摘要:HashMap:底层是一个数组+链表实现 LinkedHashMap:底层是Hash表和链表的实现 ConcurrentHashMap:基于双数组和链表的Map接口的同步实现 ArrayList:底层都是采用数组方式来实现的 LinkedList:底层是由双向循环链表实现的 阅读全文
posted @ 2019-03-22 16:13 一中晴哥威武 阅读(408) 评论(0) 推荐(0) 编辑
JDK7和JDK8concurrentHashmap区别
摘要:哈希表 1.介绍 哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值。 哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。这是对于简单的键 阅读全文
posted @ 2019-03-21 16:53 一中晴哥威武 阅读(3634) 评论(0) 推荐(0) 编辑
HashMap怎样解决碰撞问题
摘要:碰撞:HashMap运用put方法存储多个元素时,计算得出相同的hashCode,在put时出现冲突。 处理:利用“拉链法”处理HashCode的碰撞问题;当我们将键值对传递给put方法时,他调用键对象的hashCode()方法来计算hashCode,然后找到bucket(哈希桶)位置来存储对象;当 阅读全文
posted @ 2019-01-10 16:19 一中晴哥威武 阅读(3235) 评论(0) 推荐(0) 编辑
HashMap.put()和get()原理
摘要:get:通过获取key的hashcode,然后调用 hash() 获得hash值,然后在“该hash值对应的链表”上查找“键值等于key”的元素。 put:通过获取key的hashcode,然后调用 hash() 获得hash值,然后将其添加到哈希值对应的链表中(如果key为null,则将该键值对存 阅读全文
posted @ 2019-01-10 15:00 一中晴哥威武 阅读(451) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示