Java中比较器和比较器的区别是什么

目录:

Anonim

主要区别 Java 中的可比较和比较器之间是 可比较基于单个元素对集合进行排序,而比较器基于多个元素对集合进行排序。

Java 是一种高级通用编程语言,可帮助构建各种应用程序,例如 Web、桌面、移动和高性能分布式系统。此外,Java 的一大优势是它支持面向对象编程 (OOP)。范式允许创建类和对象。类是创建对象的蓝图。此外,它还具有数据成员来描述属性和方法来表示行为。此外,Java 提供了各种接口来使用类的数据成员对对象进行排序。 Comparable 和Comparable 是其中的两个。

可比较,比较器,接口,Java

Java 中的 Comparable 是什么

可比较接口有助于将一个对象与另一个对象进行比较。该类实现 java.lang.Comparable 接口来比较其实例。第一步是用类实现可比较的接口,然后重写 Comparable 接口的方法 compareTo()。

图 1:学生类

图 2:Comparable 的主程序

在上面的程序中,Student是一个实现了Comparable接口的类。最重要的是,Student 类具有三个数据成员:id、name 和marks。构造函数有助于为数据成员提供初始值。此外,这个类覆盖了 compareTo 方法。学生对象被传递给这个方法。因此,此方法根据比较结果返回 1、-1 或 0。

在主程序中,“al”是ArrayList的一个对象。程序员可以将 Student 对象插入到这个 ArrayList 中。 sort 方法对元素进行排序。最后,“for 循环”在控制台上显示元素。

什么是比较器 Java

Comparator 接口用于使用不同的比较器对列表的元素进行排序。示例程序如下。

图 3:名称和标记比较器

图 4:比较器的主程序

在上面的程序中,Student是一个实现了Comparable接口的类。此外,student 类具有三个数据成员:id、name 和marks。构造函数有助于为数据成员提供初始值。 MarkComparator 类实现了 Comparator 接口。因此,它覆盖了接受两个 Student 对象的 compare 方法。根据比较,compare 方法返回 1、-1 或 0。

同样,还有一个叫做 AgeComparator 的类,它实现了 Comparator 接口。它还覆盖了 compare 方法。此外,此方法获取两个学生对象。此外,compare 方法根据比较返回整数。

在主程序中,“al”是 ArrayList 的一个对象。程序员可以在这个ArrayList中插入Student对象,就像第34、35、36行一样。另外,在第38行,根据名称比较元素。 “for 循环”在屏幕上显示元素。在第 43 行,根据标记比较元素。然后,下一个“for 循环”在屏幕上显示元素。

Java中Comparable和Comparator的区别

定义

Comparable 是 Java 中的一个接口,用于对提供单一排序序列的用户定义类的对象进行排序,而 Comparator 是 Java 中的一个接口,用于对提供多个排序序列的用户定义类的对象进行排序。因此,这解释了 Java 中 Comparable 和 Comparator 之间的主要区别。

排序元素

此外,Comparable 提供 compareTo() 方法对元素进行排序,而 Comparator 提供 compare() 方法对元素进行排序。因此,这也是 Java 中 Comparable 和 Comparator 之间的区别。

排序的语法

Java 中 Comparable 和 Comparator 的另一个区别是在 Comparable 中排序的语法是 Collections.sort(List) 而在 Comparator 中排序的语法是 Collections.sort(List, Comparator)

结论

简而言之,Comparable 和 Comparator 是使用类的数据成员对对象进行排序的两个接口。 Java 中 Comparable 和 Comparator 的主要区别在于 Comparable 基于单个元素对集合进行排序,而 Comparator 基于多个元素对集合进行排序。

参考:

1. “Java Comparable – Javatpoint”。 Www.javatpoint.com,可在此处获得。2。 “Java 比较器——Javatpoint。” www.javatpoint.com,可在此处获得。

Java中比较器和比较器的区别是什么