Java 栈和队列的基本使用

news/2024/11/29 23:40:40/

Java 栈和队列的基本使用

  • 一、栈
    • 1.常用方法
    • 2.例子
  • 二、队列
    • 1.Queue接口常用的公共方法
    • 2.几种接口的实现方式及独有方法
      • 2.1 LinkedList
      • 2.2 PriorityQueue
      • 2.3 ArrayDeque

一、栈

1.常用方法

方法名返回值类型作用
push(E item)null向栈顶添加元素
pop()E返回栈顶首元素,然后删除
peek()E返回栈顶首元素
add(int index, E element)null向第index下标添加元素
set(int index, E element)E返回index位置的旧值,然后改变当前元素值
remove(int index)E返回index下标的元素值,然后删除这个值
remove(Object o)boolean删除元素值,并返回布尔值
isEmpty()boolean判断栈是否为空,并返回布尔值
contains(Object o)boolean判断该值是否存在,并返回布尔值
clear()null删除栈中所有值

2.例子

二、队列

队列(Queue)是一种先进先出(FIFO)的数据结构,Java中定义了java.util.Queue接口用来表示队列。Java中的QueueListSet属于同一个级别接口,它们都是继承于Collection接口。

1.Queue接口常用的公共方法

1.1 add
增加一个元索。如果队列已满,则抛出一个IIIegaISlabEepeplian异常。

2.几种接口的实现方式及独有方法

2.1 LinkedList

2.2 PriorityQueue

2.3 ArrayDeque


http://www.ppmy.cn/news/1107407.html

相关文章

stm32---基本定时器(TIM6,TIM7)

STM32F1的定时器非常多,由两个基本定时器(TIM6,TIM7)、4个通用定时器(TIM2-TIM5)和两个高级定时器(TIM1,TIM8)组成。基本定时器的功能最为简单&am…

如何快速理解JavaScript的递归

前言: 递归是一种在编程中经常使用的概念,它可以帮助我们解决一些需要重复执行相似操作的问题。在JavaScript中,递归是一种函数调用自身的技术。在本文中,我们将探讨递归的原理、使用场景以及一些注意事项。 原理 首先&#xf…

712. 两个字符串的最小ASCII删除和 -- 动规

712. 两个字符串的最小ASCII删除和 class MinimumDeleteSum:"""712. 两个字符串的最小ASCII删除和https://leetcode.cn/problems/minimum-ascii-delete-sum-for-two-strings/"""def solution(self, s1: str, s2: str) -> int:""&qu…

stu01-IDEA怎么创建一个HTML项目

1.打开idea,依次点击file→new→project 2.点击Java,选择你的jdk,没有下载的点击“Download JDK”/已经下载有JDK但在这里没显示的→点击“Add JDK”,选择你安装的JDK的路径,然后next 3.next 4.起好名字,我…

Rabbitmq基本概念-01

MQ介绍 1、什么是MQ?为什么要用MQ? MQ:MessageQueue,消息队列。 队列,是一种FIFO 先进先出的数据结构。消 息由生产者发送到MQ进行排队,然后按原来的顺序交由消息的消费者进行处理。 QQ和微信就是典型的MQ…

Redis 初识与入门

1. 什么是Redis Redis 是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。 Redis 提供了多种数据类型来支持不同的业务场景,比如 String(字符串)、…

docker安装xxl-job连接数据库时显示无法连接问题

背景: 在项目中需要定时任务调度,需要在docker容器中安装xxl-job 遇到的问题 部署成功后,可以访问xxl-job登录界面,点登录没反应,但过一段时间就弹出数据库拒绝连接,说MyBatis连接用户失败 原因&#xf…

udev自动创建设备节点的机制

流程框图如下 自动创建 1 内核检测到设备插入后,会发送一个uevent事件到内核中,并提供有关硬件设备的信息。 2 udevd守护程序收到uevent事件后,创建一个设备类,(向上提交目录信息),会在内核中…