[Queue] 1.优先队列PriorityQueue(非先进先出) 2.普通队列LinkedList的添加 遍历 删除 查看(先进先出)

本文主要是介绍[Queue] 1.优先队列PriorityQueue(非先进先出) 2.普通队列LinkedList的添加 遍历 删除 查看(先进先出),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1)实现之优先队列PriorityQueue(传入排序规则) // 因此这种并不是先进先出

package org.example.testPriorityQueue;import java.util.PriorityQueue;
import java.util.Queue;public class Main {public static void main(String[] args) {Queue<Integer> queue = new PriorityQueue<>((v1, v2) -> v2 - v1);queue.add(3);queue.add(34);queue.add(354);queue.add(31);queue.add(23);queue.add(4243);queue.add(1756733);queue.add(113);System.out.println(queue);}
}/*
[1756733, 113, 4243, 31, 23, 34, 354, 3]*/

2)Queue队列的使用1.offer添加 2.forEach遍历 3.poll删除 4.peek查看 // 先进先出

package org.example.testQueue;import java.util.LinkedList;
import java.util.Queue;public class TestQueue {public static void main(String[] args) {// step1:offer往队列添加元素。 add方法在队列满时会抛出异常Queue<String> queue = new LinkedList<>();queue.offer("a");queue.offer("d");queue.offer("c");queue.offer("b");queue.offer("b");queue.offer("e");// step2:增强for循环遍历queue.forEach(v -> System.out.println(v));// step3:poll删除一个元素。  remove方法在queue中没有元素时会抛出异常System.out.println();queue.poll();queue.forEach(v -> System.out.println(v));// step4: peek查看头的元素。element方法可能会抛出异常System.out.println();System.out.println(queue.peek());}
}/*
a
d
c
b
b
e
d
c
b
b
e
d*/

这篇关于[Queue] 1.优先队列PriorityQueue(非先进先出) 2.普通队列LinkedList的添加 遍历 删除 查看(先进先出)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/856052

相关文章

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

Redis消息队列实现异步秒杀功能

《Redis消息队列实现异步秒杀功能》在高并发场景下,为了提高秒杀业务的性能,可将部分工作交给Redis处理,并通过异步方式执行,Redis提供了多种数据结构来实现消息队列,总结三种,本文详细介绍Re... 目录1 Redis消息队列1.1 List 结构1.2 Pub/Sub 模式1.3 Stream 结

SpringKafka错误处理(重试机制与死信队列)

《SpringKafka错误处理(重试机制与死信队列)》SpringKafka提供了全面的错误处理机制,通过灵活的重试策略和死信队列处理,下面就来介绍一下,具有一定的参考价值,感兴趣的可以了解一下... 目录引言一、Spring Kafka错误处理基础二、配置重试机制三、死信队列实现四、特定异常的处理策略五

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

mysql如何查看当前连接数

《mysql如何查看当前连接数》:本文主要介绍mysql如何查看当前连接数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql查看当前连接数查看mysql数据库允许最大连接数总结mysql查看当前连接数查看当前连接数SHOW STATUS LIKE

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.