java中的这个comparator怎么个排序法

import java.util.Comparator;import java.util.TreeSet;public class StudentTreeSet { public static void main(String[] args) { // TODO Auto-generated method stub TreeSet students = new TreeSet(new AgeAscComparator()); students.add(new Student("张三", 3,59)); //实参分别是name,age,score; students.add(new Student("李四", 1,60)); students.add(new Student("王五", 2,88)); students.add(new Student("陈六", 5,46)); students.add(new Student("田七", 4,55)); System.out.println(students); } }class AgeAscComparator implements Comparator{ @Override public int compare(Student o1, Student o2) { return o1.getAge()-o2.getAge(); } }

0

2个回答

return o1.getAge()-o2.getAge();

按照对象的age,从小到大排序(如果要从大到小,就是o2-o1)

0
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java中Comparator的用法(排序、分组)
1.为什么写?comparator 是javase中的接口,位于java.util包下,该接口抽象度极高,有必要掌握该接口的使用大多数文章告诉大家comparator是用来排序,但我想说排序是comparator能实现的功能之一,他不仅限于排序2.接口功能该接口代表一个比较器,比较器具有可比性!大多数文章都写如何用comparator排序,是因为javase数组工具类和集合工具类中提供的sort方...
java排序 Comparator(其他不支持直接进行排序的类)
1、新建一个Student类package cn.myapp.test;public class Student { private String name; private Integer age; public Student(){} public Student(String name,Integer age){ this.name = name; this.age = age;...
我的Java开发学习之旅------>Java利用Comparator接口对多个排序条件进行处理
一需求 二实现Comparator接口 三验证排序结果 验证第一条件首先按级别排序级别最高的排在前面 验证第二条如果级别相等那么按工资排序工资高的排在前面 验证第三条如果工资相当则按入职年数排序入职时间最长的排在前面 附录javautilComparator接口源代码一、需求 假设现在有个如此的需求:需要对一个这样的雇员列表进行排序,排序规则如下: 1、首先级别最高的排在前面, 2、
JAVA之旅(二十)—HashSet,自定义存储对象,TreeSet,二叉树,实现Comparator方式排序,TreeSet小练习
JAVA之旅(二十)—HashSet,自定义存储对象,TreeSet,二叉树,实现Comparator方式排序,TreeSet小练习– 我们继续说一下集合框架Set:元素是无序(存入和取出的顺序不一定一致),元素不可以重复 Set集合的功能和Collection是一致的 我们重点关注的是子类对象 我们来聊聊 一.HashSet HashSet底层结构是哈希表 什么是HashS
Java中关于Comparator排序的使用方法
首先先看一个String类型的 public static void main(String[] args) {     List<String> list = Arrays.asList(new String[] {"c", "b", "a", "d", "e"});     Collections.sort(list, new Comparator<Stri
java中Comparator自定义排序
java中Comparator自定义排序: Comparator接口可以实现自定义排序,实现Comparator接口时,要重写compare方法: int compare(Object o1, Object o2) 返回一个基本类型的整型 如果要按照升序排序,则o1 小于o2,返回-1(负数),相等返回0,01大于02返回1(正数) 如果要按照降序排序,则o1 小于o2,返回1(正数),相...
java Comparator接口中(底层源码)compare方法决定排序的升序降序问题
转自CSDN论坛,稍加整理和总结 点击打开链接Comparator升序降序实现 int compare(Object o1, Object o2) 返回一个基本类型的整型 1) 如果要按照升序排序, 则o1 小于o2,返回-1(负数),相等返回0,01大于02返回1(正数) 那这是为什么呢?通过底层源码了解一下:public static <T> void sort(T[] a, Co...
java中用Comparator比较器对ArrayList排序
boy 男生 对象
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(负数
java中Comparator实现两个对象比较
1.先写一个bean接口 bean接口总有一个方法是获得权限 然后写一个
java排序Comparator基本用法
import java.util.Arrays; import java.util.Comparator;/** * 按绝对值进行排序 */ class AbsComprator implements Comparator<Integer> { @Override public int compare(Integer o1, Integer o2) {
java 自定义排序【Comparator升序降序的记法】
环境java: 1.7需求今天在写排序时,忘了是返回1,是正序,还是-1为正序。 或者说,正序或者降序我应该如何返回。例子说明Collections.sort(companyList, new Comparator<String>() { @Override public int compare(String o1, String o
Android使用Comparator进行排序报错问题
1. 为什么写这篇文章 这篇文章的根源是在产品中发现了一个诡异的bug:只能在产品环境下重现,在我的本地开发环境无法重现,而双方的代码没有任何区别。最后用remote debug的方法找到异常所在: Exception in thread "main" java.lang.IllegalArgumentException: Comparison  method violates
java中Comparator的用法(用于集合对象或数组对象进行排序)
package Comparator; public class Step{     /** 处理时间 */      int acceptTime ;     /** 快件所在地点 */      int acceptAddress ;     public Step() {         super();     }     public Step(int
TreeMap利用Comparator接口排序
/*TreeMap利用Comparator接口排序 需求:对学生对象的年龄进行升序排序。 因为数据是以键值对形式存在的。 所以要使用可以排序的Map集合。TreeMap */ import java.util.*; class StuNameComparator implements Comparator<Student>//比较器 { public int compare(Studengt
字符串排序 (java comparator接口的使用)
先输入你要输入的字符串的个数。然后换行输入该组字符串。每个字符串以回车结束,每个字符串少于一百个字符。如果在输入过程中输入的一个字符串为“stop”,也结束输入。  然后将这输入的该组字符串按每个字符串的长度,由小到大排序,按排序结果输出字符串。  Input 字符串的个数,以及该组字符串。每个字符串以‘\n’结束。如果输入字符串为“stop”,也结束输入. Output 将输入的所有字符...
JAVA 利用Comparator实现自定义排序
/* 有个Person类,包括姓、名、性别、年龄属性:现在有个需求,需要对Person进行以下规则的排序  * 谁的姓拼音靠前,谁就排前面。  * 然后对名字进行排序。如果同名,女性排前头。  * 如果名字和性别都相同,年龄小的排前头。  * int compare(Object o1, Object o2) 返回一个基本类型的整型 如果要按照升序排序, 则o1 小于o2,返回-
Java集合排序方法comparable和comparator的总结
本文对java集合实现类的排序做了比较详细的总结,也有很详细的代码讲解。
排序—对象类排序之Comparator接口
WHY:当需要对某个类进行排序,但是这个类本身并不支持排序时,可以用到比较器,java中定义了两种比较器的类型,第一种是comparator可用于数组或者集合的排序,第二种是comparable可用于数组的排序。首先来讲一下comparator比较器场景1需要对单位的员工信息列表进行排序,要求如下:1、级别高的排在前面2、同级别的,工资高的排在前面3、同工资的,资历老的排在前面STEP ONE:创...
Comparator<String>接口,String类数组按字符串长度排序
详情请参考 Core Java volume I-Fundamentals(10th Edition)
Java 用Comparator对ArrayList中的对象按照该对象某属性排序
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; /** * Created by LSK.Reno on 2018/7/1. */ public class ComparableTest { public static void main(String[]...
优先队列的自然排序以及加入Comparator接口的实现
优先队列(PriorityQueue)的实现: 一,PriorityQueue的特性 PriorityQueue是一种比较特殊的队列数据结构,传统的队列复合(FIFO)先进先出原则,而PriorityQueue是以数据的优先级进行存储; PriorityQueue类在Java1.5中引入并作为 Java Collections Framework 的一部分。PriorityQueue是基于优...
JAVA中使用静态内部类Comparator实现集合的排序
比起Comparable接口比较器Comparator为我们在排序中提供了更宽松和更加广泛的应用 实例:在实际中,常常需要对一个商品按照不同属性来排序,这时我们就能通过写出自己的Comparator来实现不同的排序方式 public class Goods{ priva
Java Comparator字符排序(数字、字母、中文混合排序)
Java.lang.Character类 复习一下 这是修正前的排序效果:   这是修正后的排序效果:    完整示例: 以下是排序的部份代码(非全部代码:拼音首字母算法不在其中) import java.util.Arrays;   import java.util.Comparator;   import java.util.regex.Matcher; ...
比较器(Comparable、Comparator)类及 二叉树的排序算法!!
之前Arrays 类中存在sort() 方法, 此方法可以直接对 对象数组进行排序。  1.Comparable接口 可以直接使用java.util.Arrays 类进行数组的排序操作,但对象所在的类必须实现Comparable 接口,用于指定排序接口。 Comparabl
java中HashMap排序中实现Comparator接口
1、通过观察Collections.sort()源码,如下: public static void sort(List list, Comparator c) { Object[] a = list.toArray(); Arrays.sort(a, (Comparator)c); ListIterator i = list.listIterat
java使用Comparator根据list对象的属性进行排序
List fixedInputs=packagingFixedInput(forms,formData,isLogic,logicIds,attachments); fixedInputs.addAll(formInfo.getFixedInputs()); Comparator comparator = new Comparator() { public int compare(For
java comparator 升序、降序、倒序从源码角度理解
环境 jdk:1.7+ 前言 之前我写过关于comparator的理解,但是都理解错了。 java 自定义排序【Comparator升序降序的记法】 特别是 上面这篇,完全理解错了,排序的真正的意思。 最近通过查看源码,打断点的方式,一步步的查看、演算。算是明白了! 当时我心里的疑惑是: ① -1到底表示不表示倒序; ② -1、0、1这三个值真的需要同时使用吗?能不能只使用其...
Comparator long类型的比较bug实录
在对list进行排序时,比较函数需要返回Int,这个时候如果是long类型的比较的话,不要用直接相减,然后强制转为int。 可以直接用Long的原生方法去做。Long.compare 老代码==》 Collections.sort(kbases, new Comparator() {                 @Override                 pu
Java数组排序中Comparator接口实现自定义排序
1、为节点排序。节点由3个字段组成,包括num ,weight ,height 。先按照weight升序排序,再按照height降序排序。 2、使用Comparator接口规则:编写多个排序方式类实现Comparator接口,并重写新Comparator接口中的compare()方法。升序是前者减去后者,降序是后者减去前者。 3、代码测试:同时也是牛客网中某题。 题目描述: 搜狐员
Java 数组正序排序和倒叙排序实现--Arrays和Comparator接口
import java.util.Arrays; import java.util.Comparator; public class ArraySSort { public static void main(String[] args) { Integer[] a = { 1, 8, 5, 3, 6, 7, 4 }; Arrays.sort(a); ...
BeanComparator类的根据多个属性进行排序
List subs1 = subsService.findSubs(subs); ArrayList sortFields = new ArrayList(); sortFields.add(new BeanComparator("uid")); sortFields.add(new BeanComparator("totalPrice")); ComparatorChain multiSort
Collections.sort中使用Comparator的实现类排序
----------------------------------------------------------------------- //排序         Collections.sort(Bean,new myComparator()); ---------------------------------------------------------------------
TreeSet中的Comparable排序与Comparator排序的比较
    TreeSet是Set的一个子类,底层是依托于二叉树的,由此可知,TreeSet与其他集合最大的区别就是它可以实现排序,如API(JDK 1.6版本)中: 在存放普通的基本数据类型或者String类型数据时,我们可以直接用TreeSet的add()方法来进行添加元素,而在添加完毕后,最后输出set时,已经是排好序的集合了,例如下面的代码和运行截图: 1.int型数据 2.ch...
Java排序Comparator实现接口发生异常
在JDK8环境下,通过实现Comparator接口,对HashMap根据value降序排序出异常:Comparison method violates its general contract!
利用Comparator对Collection进行自定义排序
目录 前面 默认排序 自定义排序类 测试 总结 前面 今天突然发现java集合类中的排序方式可以利用Comparator接口实现自定义,感觉很有意思,在这里与大家分享一下。 默认排序 如果我们不写自定义的排序,那么Collection默认的排序是按照字符串的字典序,考察下面代码: SortedSet&amp;amp;lt;String&amp;amp;gt; strings = new TreeSet&amp;amp;l...
Collections的sort方法加上Comparator后,是如何排序的
Collections的sort方法加上Comparator后,是如何排序的我们来看看Comparator的compare方法的注释 我们看到returns下方的信息,看完大家都知道怎么回事,但是这时即使按照上面的信息写完了,要知道序列结果是升序还是降序,还是需要了解一下Collections内部 TimSort。直接看看例子吧 [5, 1, 4, 3, 2]这个序列,若在comparator中
Java中实现Comparable接口和Comparator接口的排序算法效率比较
在PAT Basic Level的真题中,有”德才论“这么一题(点击可链接),
java comparator 排序 定义比较器内部类的方式排序 通用排序方式 非常灵活
class Products implements Comparable  { private String name; private int num; private Integer price; public String getName() { return name; } public void setName(String name) { this.name = nam
java实现排序的方法-继承Comparable和Comparator
1、java提供的默认List和数组排序方法       代码实现: package zmx.sort.test; import java.text.Collator; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; publi
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java的一些学习这个。 java学习成绩排序