当前位置:网站首页 > Java教程 > 正文

集合列队教程java



一个是在处理之前保存元素的集合。除了基本的操作外,队列还提供了额外的插入、删除和检查操作。以下是接口的定义。

每个方法都有两种形式:(1)如果操作失败,抛出异常;(2)如果操作失败,则返回一个特殊值(根据操作的不同,可以是或)。接口的常规结构如下表所示。

队列接口结构 操作类型 抛出异常 返回特殊值 插入 删除 查看

队列通常(但不一定)以先进先出(FIFO)的方式对元素进行排序。优先级队列是一种例外,它根据元素的值进行排序 - 详见部分)。无论使用什么排序方式,队列的头部元素是通过调用或方法来删除的。在FIFO队列中,所有新元素都插入到队列的尾部。其他类型的队列可能使用不同的插入规则。每个实现都必须指定其排序属性。

实现可以限制它所保存的元素数量;这种队列称为有界队列。一些中的实现是有界的,但中的实现不是。

方法是从继承的,它插入一个元素,除非它违反了队列的容量限制,否则会抛出异常。方法只用于有界队列,与方法的区别在于它通过返回来表示插入元素失败。

和方法都会移除并返回队列的头部元素。具体移除的是哪个元素是由队列的排序策略决定的。当队列为空时,方法会抛出异常,而方法会返回。

和方法返回队列的头部元素,但不会将其移除。它们与和的区别与之相同:如果队列为空,方法会抛出异常,而方法会返回。

实现通常不允许插入元素。但是,实现是一个例外,它被改造成实现接口,并允许插入元素,但你应该避免利用这一点,因为和方法会将作为特殊返回值。

Queue实现通常不定义基于元素的和方法,而是继承自的基于身份的版本。

接口没有定义阻塞队列方法,这在并发编程中很常见。这些方法等待元素出现或可用空间,它们被定义在接口中,该接口扩展了接口。

在下面的示例程序中,使用队列实现了一个倒计时器。队列会预先加载从命令行指定的数字到零的所有整数值,按照降序排列。然后,这些值会在一秒的时间间隔内从队列中移除并打印出来。这个程序是人为的,因为在没有使用队列的情况下做同样的事情更自然,但它展示了在后续处理之前使用队列存储元素的用法。

在下面的示例中,使用优先队列对一组元素进行排序。同样,这个程序是人为的,在使用中提供的方法更好的情况下,没有理由使用它,但它展示了优先队列的行为。

  • 上一篇: 刘志宏java教程
  • 下一篇: java封装代码教程
  • 版权声明


    相关文章:

  • 刘志宏java教程2025-01-13 11:18:06
  • 470集教程java2025-01-13 11:18:06
  • java入门教程1282025-01-13 11:18:06
  • myeclipse运行java教程2025-01-13 11:18:06
  • java2实用教程 课后题2025-01-13 11:18:06
  • java封装代码教程2025-01-13 11:18:06
  • webservice视频教程java2025-01-13 11:18:06
  • java抽象流教程2025-01-13 11:18:06
  • java程序设置教程2025-01-13 11:18:06
  • java经典教程42025-01-13 11:18:06