摘要: Set也是Collection 阅读全文
posted @ 2020-04-04 22:31 源码猎人 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 如果有一个实体类重写了hashCode方法,并且hashCode返回一个固定值,而且需要使用这个实体最为键,我们该怎么办呢?HashMap铁定是没法使用了,因为HashMap使用键hashCode高低位混合对数组长度取余定位位置,使用HashMap的结果就是无论put多少个该实体对象,实际只存了一个键值对。其实JDK中提供了一个Map专门来解决类似这样的问题,对就是IdentityHashMap,再看IdentityHashMap源码时先要搞清楚,它的key和value是在同一个数组里面的,table[i]存放key那么table[i+1]存放key对应的值。 阅读全文
posted @ 2020-04-04 20:34 源码猎人 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 队列是一种特殊的线性表。队列有单向队列和双向队列,队列内部结构多大使用数组和链表存储,一般使用数组存储的都会有初试长度和最大长度等,一般使用链表存储没有长度限制。平时在使用中最好不要像队列中插入null(通常也不允许,LinkedList除外),因为null值通常用于poll方法表示当前队列没有元素了,插入null值poll就有歧义。 阅读全文
posted @ 2020-04-04 10:42 源码猎人 阅读(174) 评论(0) 推荐(0) 编辑