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使用示例分享
复制代码 代码如下: 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详解与比较
java 中Comparable与Comparator详解 今天查看TreeMap的源码,发现其键必须是实现Comparable或者Comparator的接口时产生了一些兴趣,比如在TreeMap中的put方法分别对Comparable和Comparator接口分别进行处理.那么疑问就来了,Comparable和Comparator接口的区别是什么,Java中为什么会存在两个类似的接口? Comparable和Comparator接口都是用来比较大小的,首先来看一下Comparable的定义
-
对比Java中的Comparable排序接口和Comparator比较器接口
Comparable Comparable 是排序接口. 若一个类实现了Comparable接口,就意味着"该类支持排序". 即然实现Comparable接口的类支持排序,假设现在存在"实现Comparable接口的类的对象的List列表(或数组)",则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序. 此外,"实现Comparable接口的类的对象"可以用作"有序映射(如Tree
-
Java函数式编程(九):Comparator
实现Comparator接口 Comparator接口的身影在JDK库中随处可见,从查找到排序,再到反转操作,等等.Java 8里它变成了一个函数式接口,这样的好处就是我们可以使用流式语法来实现比较器了. 我们用几种不同的方式来实现一下Comparator,看看新式语法的价值所在.你的手指头会感谢你的,不用实现匿名内部类少敲了多少键盘啊. 使用Comparator进行排序 下面这个例子将使用不同的比较方法,来将一组人进行排序.我们先来创建一个Person的JavaBean. 复制代码 代码如下:
-
Java 中Comparable和Comparator区别比较
Comparable 简介Comparable 是排序接口.若一个类实现了Comparable接口,就意味着"该类支持排序". 即然实现Comparable接口的类支持排序,假设现在存在"实现Comparable接口的类的对象的List列表(或数组)",则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序.此外,"实现Comparable接口的类的对象"可以用作"有序映射(如Tre
-
Java中实现Comparator接口和用法实例(简明易懂)
在java中,如果要对集合对象或数组对象进行排序,需要实现Comparator接口以达到我们想要的目标. 接下来我们模拟下在集合对象中对日期属性进行排序 一.实体类Step package com.ljq.entity; /** * 运号单流程 * * @author Administrator * */ public class Step{ /** 处理时间 */ private String acceptTime = ""; /** 快件所在地点 */ private String
-
详解Java中Comparable和Comparator接口的区别
详解Java中Comparable和Comparator接口的区别 本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧. Comparable 简介 Comparable 是排序接口. 若一个类实现了Comparable接口,就意味着"该类支持排序". 即然实现Comparable接口的类支持排序,假设现在存在"实现Comparable接口的类的对象的List列表(
-
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中comparator接口与Comparable接口的区别
Comparable 简介 Comparable 是排序接口. 若一个类实现了Comparable接口,就意味着"该类支持排序". 即然实现Comparable接口的类支持排序,假设现在存在"实现Comparable接口的类的对象的List列表(或数组)",则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序. 此外,"实现Comparable接口的类的对象"可以用作"有序映射(如
-
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
-
详解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
随机推荐
- jQuery遍历json中多个map的方法
- Javascript 继承机制的实现
- javascript 数组操作详解
- PHP实现阿里大鱼短信验证的实例代码
- Python写的创建文件夹自定义函数mkdir()
- jsp中使用frameset框架 边框固定不让更改边框的大小
- C# Winform中实现主窗口打开登录窗口关闭的方法
- MYSQL事务回滚的2个问题分析
- Python lambda和Python def区别分析
- Python socket编程实例详解
- js中对函数设置默认参数值的3种方法
- JS 终止执行的实现方法
- 移动端基础事件总结与应用
- 详细学习Java Cookie技术(用户登录、浏览、访问权限)
- Android如何集成极光短信验证
- objective-c实现点到直线的距离及与垂足的交点
- php操作mongoDB实例分析
- 教你几招对付银行里态度恶劣的工作人员[转载]
- IP网络路由技术
- Vue EventBus自定义组件事件传递