数据结构
文章平均质量分 80
Java硬件工程师
中国科学技术大学毕业,原支付宝Java开发工程师,立志做一名资深全栈工程师
展开
-
Java双端队列Deque及其应用
1.Deque的概念双向队列:支持在首尾插入和删除元素的线性集合。它具有既具有FIFO(先进先出)特点又具有LIFO(后进先出)的特点,即是队列又是栈;java官方文档推荐用deque实现栈(stack)。在Java中,Queue的实现类一般都是用LinkedList。特点:1.插入、删除、获取操作支持两种形式:快速失败和返回null或true/false2.既具有FIFO特点又具有LIFO特点,即是队列又是栈3.不推荐插入null元素,null作为特定返回值表示队列为空4.未定义基于元原创 2021-02-15 13:19:31 · 1498 阅读 · 7 评论 -
Java中Map.Entry详解
关于HashMap的详细介绍请参考Java基础-HashMap集合1.Map.Entry简介Map是java中的接口,Map.Entry是Map的一个内部接口。Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个k原创 2021-02-08 21:11:12 · 36124 阅读 · 11 评论 -
Java优先级队列PriorityQueue
1.优先级队列概述PriorityQueue,即优先队列。优先队列的作用是能保证每次取出的元素都是队列中权值最小的(Java的优先队列每次取最小元素,C++的优先队列每次取最大元素)。这里牵涉到了大小关系,元素大小的评判可以通过元素本身的自然顺序(natural ordering),也可以通过构造时传入的比较器(Comparator,类似于C++的仿函数)。Java中PriorityQueue实现了Queue接口,不允许放入null元素;其通过堆实现,具体说是通过完全二叉树(complete binar原创 2021-02-08 19:52:58 · 2420 阅读 · 1 评论