![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java容器
修 己
这个作者很懒,什么都没留下…
展开
-
面试官问~如何对一个对象数组进行去重
背景介绍题目:现在有一个student类,有三个属性:分别是 String 类型的name, int类型的age、Date类型的birthy。创建一个student类型的数组,对这个数组进行去重。要求:只要是数组中的student对象的name值一样,birthy一样就代表是一个重复元素。这里主要考察我们的是1、如何重写equals和hashcode ?2、为什么要重写 equals和hashcode ?3、什么情况下必须重写 equals和hashcode 等一系列的问题。接下来的我们原创 2021-08-25 16:03:07 · 1199 阅读 · 0 评论 -
一张脑图解析 ConcurrentHashMap 的重点知识点
欢迎在评论区交流~ 一起学习 一起进步。原创 2021-07-19 10:33:05 · 217 阅读 · 0 评论 -
一张脑图解析 CopyOnWriteArrayList 的底层原理
欢迎在评论区交流,共同学习,一起进步~原创 2021-07-15 08:05:45 · 234 阅读 · 0 评论 -
用一张 脑图 解析 HashMap 的面试点
从上面的脑图中我们可以很详细的了解到HashMap的大部分知识点了,欢迎在评论区补充交流。原创 2021-07-13 09:46:56 · 251 阅读 · 0 评论 -
用一张 脑图 解析 ArrayList的面试点
如果只是一个小小的ArrayList ,但是知识点还是有很多的,上图肯定没有覆盖全面。欢迎大家评论区多多交流、指正错误,一起进步。原创 2021-07-06 17:57:25 · 166 阅读 · 0 评论 -
什么场景下我们会用到阻塞队列??
1 常见的阻塞队列1 LinkedBlockingQueueLinkedBlockingQueue 的内部是通过单向链表实现的游街队列(默认为Integer的最大值),使用头、尾节点来进行入队和出队操作,也就是入队操作都是对尾节点进行操作,出队操作都是对头节点进行操作。如下图所示,对头、尾节点的操作分别使用了单独的独占锁从而保证了原子性,所以出队和入队操作是可以同时进行的。另外对头、尾节点的独占锁都配备了一个条件队列,用来存放被阻塞的线程,并结合入队、出队操作实现了一个生产消费模型。详细地址:ht原创 2021-07-01 14:49:34 · 2033 阅读 · 0 评论 -
java容器~面试知识点整理
一、导图二、详解2.1 List2.1.1 ArrayListArrayList的底层数据结构就是一个数组,数组元素的类型为Object类型,对ArrayList的所有操作底层都是基于数组的。ArrayList的线程安全性:对ArrayList进行添加元素的操作的时候是分两个步骤进行的,这个过程在多线程的环境下是不能保证具有原子性的,因此ArrayList在多线程的环境下是线程不安全的 。2.1.2 LinkedListLinkedList 的底层数据结构是双向链表。2.1.3 数组和链表原创 2021-06-28 13:54:02 · 121 阅读 · 0 评论