Java Comparator比较器实例解析
这篇文章主要介绍了Java Comparator比较器实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
说几点需要注意的,提醒自己即可:
以下是单独定义一个比较器的类,实现了Comparator中的compare方法。(要在Main方法外面定义类噢)
一定是compare而不是Compare哦
package xixixi; import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); Student[] arr = new Student[n]; for(int i=0;i<n;i++) { String name = in.next(); int num = in.nextInt(); arr[i] = new Student(name, num); } } } class Student{ String name; int num; Student(String s,int n){ name = s; num = n; } public String toString() { return name+"-"+num; } } class NameComparator implements Comparator<Student>{ public int compare(Student o1,Student o2) { if(o1.name.compareTo(o2.name)>0) return 1; else if(o1.name.compareTo(o2.name)<0) return -1; else return o1.name.compareTo(o2.name); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
详解JAVA使用Comparator接口实现自定义排序
1.原则 Comparator接口可以实现自定义排序,实现Comparator接口时,要重写compare方法: int compare(Object o1, Object o2) 返回一个基本类型的整型 如果要按照升序排序,则o1 小于o2,返回-1(负数),相等返回0,01大于02返回1(正数) 如果要按照降序排序,则o1 小于o2,返回1(正数),相等返回0,01大于02返回-1(负数) import java.util.ArrayList; import java.util.Compar
-
Java函数式编程(九):Comparator
实现Comparator接口 Comparator接口的身影在JDK库中随处可见,从查找到排序,再到反转操作,等等.Java 8里它变成了一个函数式接口,这样的好处就是我们可以使用流式语法来实现比较器了. 我们用几种不同的方式来实现一下Comparator,看看新式语法的价值所在.你的手指头会感谢你的,不用实现匿名内部类少敲了多少键盘啊. 使用Comparator进行排序 下面这个例子将使用不同的比较方法,来将一组人进行排序.我们先来创建一个Person的JavaBean. 复制代码 代码如下:
-
java 中Comparable与Comparator详解与比较
java 中Comparable与Comparator详解 今天查看TreeMap的源码,发现其键必须是实现Comparable或者Comparator的接口时产生了一些兴趣,比如在TreeMap中的put方法分别对Comparable和Comparator接口分别进行处理.那么疑问就来了,Comparable和Comparator接口的区别是什么,Java中为什么会存在两个类似的接口? Comparable和Comparator接口都是用来比较大小的,首先来看一下Comparable的定义
-
详解Java中Comparable和Comparator接口的区别
详解Java中Comparable和Comparator接口的区别 本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧. Comparable 简介 Comparable 是排序接口. 若一个类实现了Comparable接口,就意味着"该类支持排序". 即然实现Comparable接口的类支持排序,假设现在存在"实现Comparable接口的类的对象的List列表(
-
浅析Java中comparator接口与Comparable接口的区别
Comparable 简介 Comparable 是排序接口. 若一个类实现了Comparable接口,就意味着"该类支持排序". 即然实现Comparable接口的类支持排序,假设现在存在"实现Comparable接口的类的对象的List列表(或数组)",则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序. 此外,"实现Comparable接口的类的对象"可以用作"有序映射(如
-
Java中实现Comparator接口和用法实例(简明易懂)
在java中,如果要对集合对象或数组对象进行排序,需要实现Comparator接口以达到我们想要的目标. 接下来我们模拟下在集合对象中对日期属性进行排序 一.实体类Step package com.ljq.entity; /** * 运号单流程 * * @author Administrator * */ public class Step{ /** 处理时间 */ private String acceptTime = ""; /** 快件所在地点 */ private String
-
对比Java中的Comparable排序接口和Comparator比较器接口
Comparable Comparable 是排序接口. 若一个类实现了Comparable接口,就意味着"该类支持排序". 即然实现Comparable接口的类支持排序,假设现在存在"实现Comparable接口的类的对象的List列表(或数组)",则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序. 此外,"实现Comparable接口的类的对象"可以用作"有序映射(如Tree
-
Java Comparable 和 Comparator 的详解及区别
Java Comparable 和 Comparator 的详解及区别 Java 中为我们提供了两种比较机制:Comparable 和 Comparator,他们之间有什么区别呢?今天来了解一下. Comparable 自然排序 Comparable 在 java.lang 包下,是一个接口,内部只有一个方法 compareTo(): public interface Comparable<T> { public int compareTo(T o); } Comparable 可以让实现它的
-
Java 中Comparable和Comparator区别比较
Comparable 简介Comparable 是排序接口.若一个类实现了Comparable接口,就意味着"该类支持排序". 即然实现Comparable接口的类支持排序,假设现在存在"实现Comparable接口的类的对象的List列表(或数组)",则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序.此外,"实现Comparable接口的类的对象"可以用作"有序映射(如Tre
-
java比较器comparator使用示例分享
复制代码 代码如下: import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List; public class ComparatorTest implements Comparator<stuEntity> { /** * @param args */ public static void main(String[] arg
-
Java8 Comparator: 列表排序的深入讲解
在本文中,我们将看到几个关于如何在Java 8中对List进行排序的示例. 1.按字母顺序排序字符串列表 List<String> cities = Arrays.asList( "Milan", "london", "San Francisco", "Tokyo", "New Delhi" ); System.out.println(cities); //[Milan, london, San
-
Java中实现Comparable和Comparator对象比较
当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序. A comparison function, which imposes a total ordering on some collection of objects. Comparators can be passed to a sort method (such as Collections.sort or Arrays.sort) to allow pr
随机推荐
- 分组字符合并SQL语句 按某字段合并字符串之一(简单合并)
- Java中的MessageFormat.format用法实例
- 微信支付java版本之查询订单
- 一行代码实现IOS 3DES加密解密
- JS验证字符串功能
- javascript中SetInterval与setTimeout的定时器用法
- JS简单的轮播的图片滚动实例
- JavaScript cookie的设置获取删除详解
- asp.Net 中获取一周第一天,一月第一天等实现代码
- PHP 实现页面静态化的几种方法
- php截取视频指定帧为图片
- 在你的网页中嵌入外部网页的方法
- VBS中转换二进制数据为字符串常用办法
- C#标识符的使用小结
- Debian系统下为PHP程序配置Nginx服务器的基本教程
- js 三级关联菜单效果实例
- Java自定义注解的详解
- servlet配置方法及其生命周期详解
- Java设计模式之单态模式(Singleton模式)介绍
- Android Mms之:对话与联系人关联的总结详解