Java集合-2
2020-02-15 本文已影响0人
Statham_Jessie
队列
Queue 是模拟队列的类,FIFO先进先出;
PriorityQueue是一个比较标准的队列实现类,它不符合FIFO的思想,而是按队列元素的大小重新排序。因此poll方法取数据不是按最新进入的顺序去取,而是取了最小的元素;
PriorityQueue有两种排序方式,自然排序,即按元素的大小从小到大排序;定制排序,构造器传入Comparator对象;
Deque 双端队列,可以在队头插入元素。可以作为栈使用,ArrayDeque是它的典型实现;
链表
LinkedList实现了List接口、Deque接口,意味着可以根据索引来访问集合,也可以作为双端队列和栈来使用
Map集合
Map用于保存映射结构,key-value结构,key不能重复。Map的实现由HashMap、LinkedHashMap、SortedMap、TreeMap、EnumMap。
Hashtable是一个线程安全的Map实现,HashMap不是线程安全的实现,所以HashMap的性能高一点;Hashtable不允许null作为key和value,但HashMap可以;
LinkedHashMap使用双向链表来维护key的顺序,该链表来维护Map的遍历顺序,迭代顺序与key-value的插入顺序一致。