摘要: PriorityQueue 一个基于优先级的无界优先级队列。优先级队列的元素按照其自然顺序进行排序,或者根据构造队列时提供的 Comparator 进行排序,具体取决于所使用的构造方法,每次出队的元素都是优先级最高的元素。该队列不允许使用 null 元素也不允许插入不可比较的对象(没有实现Comparable接口的对象)。 阅读全文
posted @ 2020-04-06 21:36 源码猎人 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 为什么说它特殊,从类图上就可以看出来,它是List、Queue(Deque继承Queue)的实现,相比ArrayList多实现了Deque接口而少实现了RandomAccess接口,从名字就可以看除内部使用链表结构 阅读全文
posted @ 2020-04-06 18:18 源码猎人 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 同一个枚举类的对象如果用HashSet来放就太浪费空间了,因为HashSet内部还是使用HashMap散列方式,对于一个枚举类来说运行前都已经确定了顺序,并且枚举又不会特别多,继续使用HashSet就得不偿失了,JDK中提供EnumSet是专门用于服务枚举类型的,EnumSet和其他Set不太一样的地方,是它是有序的并且不允许插入null 阅读全文
posted @ 2020-04-06 15:44 源码猎人 阅读(194) 评论(0) 推荐(0) 编辑
摘要: TreeSet描述的是Set的一种变体,可以实现排序等功能的集合,它在讲对象元素添加到集合中时会自动按照某种比较规则将其插入到有序的对象序列中,实际上它是对TreeMap的封装,同HashSet、LinkedHashSet一样,它使用TreeMap的键。 阅读全文
posted @ 2020-04-06 11:39 源码猎人 阅读(633) 评论(0) 推荐(0) 编辑