Java SE入门及基础(51)& Queue 接口 & 比较器接口

admin2024-05-15  0

目录

Queue 接口

1. 特性描述

Queue 接口常用方法

2. LinkedBlockingQueue

用法示例

3. PriorityQueue

用法示例

思考:如果 PriorityQueue 队列中存储的是对象,会怎么排序?

比较器接口

1. 比较器接口的作用

2. Comparable 接口

示例

3. Comparator 接口

示例

Java SE文章参考:Java SE入门及基础知识合集-CSDN博客


Queue 接口

1. 特性描述

Queue 接口常用方法

2. LinkedBlockingQueue

LinkedBlockingQueue 是一个 FIFO 队列,队列有长度,超出长度范围的元素将无法存储进队列。

用法示例

3. PriorityQueue

        PriorityQueue 是一个有排序规则的队列,存入进去的元素是无序的,队列有长度,超出长度范围的元素将无法存储进队列。需要注意的是, 如果存储的元素如果不能进行比较排序,也未提供任何对元素 进行排序的方式,运行时会抛出异常

用法示例

思考:如果 PriorityQueue 队列中存储的是对象,会怎么排序?

        如果对象不能进行比较,则不能排序,运行时会报异常。要解决这个问题,需要使用Java 平台提供的比较器接口。

比较器接口

1. 比较器接口的作用

        在使用数组或者集合时,我们经常都会遇到排序问题,比如将学生信息按照学生的成绩从高到低依次排列。数字能够直接比较大小,对象不能够直接比较大小,为了解决这个问题,Java 平台提供了 Comparable 和 Comparator 两个接口来解决。

2. Comparable 接口

示例

3. Comparator 接口

示例

        Comparable接口是有数组或者集合中的对象的类所实现,实现后对象就拥有比较的方法,因此称为内 排序或者自然排序。 Comparator 接口是外部提供的对两个对象的比较方式的实现,对象本身并没有比 较的方式,因此被称为外排序器

Java SE文章参考:Java SE入门及基础知识合集-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!