【Java系列】Queue接口面试题

简介: 1,Queue介绍Queue用于模拟队列这种数据结构,队列通常是指“先进先出”的容器。队列的头部保存在队列中时间最长的元素,队列的尾部 保存在队列中时间最短的元素。新元素插入到队列的尾部,访问元素操作会返回队列头部的元素。通常,队列不允许随机访问队列中的元素。Queue接口中定义了如下操作方法:== void add(Object e):将指定元素加入此队列的尾部。== Object element():获取队列头部的元素,但是不删除该元素。== boolean offer(Object

1,Queue介绍

Queue用于模拟队列这种数据结构,队列通常是指“先进先出”的容器。队列的头部保存在队列中时间最长的元素,队列的

尾部 保存在队列中时间最短的元素。新元素插入到队列的尾部,访问元素操作会返回队列头部的元素。通常,队列不允许

随机访问队列中的元素。

Queue接口中定义了如下操作方法:

== void add(Object e):将指定元素加入此队列的尾部。

== Object element():获取队列头部的元素,但是不删除该元素。

== boolean offer(Object e):将指定元素加入此队列的尾部。当使用有容量限制的队列时,此方法通常比add(Object e)

方法更好。

== Object peek():获取队列头部的元素,但是不删除该元素。如果此队列为空,则返回null。

== Object poll():获取队列头部的元素,并删除该元素。如果此队列为空,则返回null。

== Object remove():获取队列头部的元素,并删除该元素。

Queue有两个常用的实现类:LinkedList和PriorityQueue。


2.在Queue中poll()和remove()有什么区别

  • 相同点:都是返回第一个元素,并在队列中删除返回的对象
  • 不同点:如果没有元素,poll()会返回null,而remove()会直接抛出异常















相关文章
|
1天前
|
存储 安全 Java
[Java基础面试题] Map 接口相关
[Java基础面试题] Map 接口相关
|
1天前
|
Java
[Java 面试题] ArrayList篇
[Java 面试题] ArrayList篇
|
2天前
|
Java 调度
Java面试必考题之线程的生命周期,结合源码,透彻讲解!
Java面试必考题之线程的生命周期,结合源码,透彻讲解!
28 1
|
2天前
|
存储 Java C++
Java集合篇之深度解析Queue,单端队列、双端队列、优先级队列、阻塞队列
Java集合篇之深度解析Queue,单端队列、双端队列、优先级队列、阻塞队列
15 0
|
2天前
|
存储 安全 Java
每日一道Java面试题:说一说Java中的泛型?
今天的每日一道Java面试题聊的是Java中的泛型,泛型在面试的时候偶尔会被提及,频率不是特别高,但在日后的开发工作中,却是是个高频词汇,因此,我们有必要去认真的学习它。
15 0
|
2天前
|
Java 编译器
每日一道Java面试题:方法重载与方法重写,这把指定让你明明白白!
每日一道Java面试题:方法重载与方法重写,这把指定让你明明白白!
14 0
|
6天前
|
XML 缓存 Java
Java大厂面试题
Java大厂面试题
18 0
|
6天前
|
存储 安全 Java
Java大厂面试题
Java大厂面试题
12 0
|
6天前
|
存储 安全 Java
Java大厂面试题
Java大厂面试题
13 0
|
7天前
|
Java 开发者
探索 Java 的函数式接口和 Lambda 表达式
【4月更文挑战第19天】Java 中的函数式接口和 Lambda 表达式提供了简洁、灵活的编程方式。函数式接口有且仅有一个抽象方法,用于与 Lambda(一种匿名函数语法)配合,简化代码并增强可读性。Lambda 表达式的优点在于其简洁性和灵活性,常用于事件处理、过滤和排序等场景。使用时注意兼容性和变量作用域,它们能提高代码效率和可维护性。