实现Comparator 对List<?>进行排序】的更多相关文章

1.排序对象全是字母组成,可以根据ASCII编码表排序 package com.abcd; public class Person{ private String name; private int age; private int salary; public Person() { } public Person(String name, int age, int salary) { this.name = name; this.age = age; this.salary = salary;…
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…
对数据库中查询到的结果进行排序,一般开发中,实体类是没有实现Comparable接口的,所以不能实现compareTo()方法进行排序, 只能用Comparator去进行排序,只需要在带排序的集合中加入以下代码就能实现排序功能了.compare比较的o1和o2,返回值大于0,则o1大于o2,返回值等于0,则o1等于o2. Collections.sort(clientCircleList,new Comparator<ClientCircle>(){ @Override public int…
首选需要有个Entity类 ,里面有属性有方法 package demo; public class Entity { private String empNo ; private String empName ; private float sal ; public String getEmpNo() { return empNo; } public void setEmpNo(String empNo) { this.empNo = empNo; } public String getEmp…
1.编写实现类 package com.abcd; public class Person{ private String name; private int age; private int salary; public Person() { } public Person(String name, int age, int salary) { this.name = name; this.age = age; this.salary = salary; } public String get…
http://blog.csdn.net/iisgirl/article/details/7269833…
1.概述 在这篇教程里,我们将要去了解下即将到来的JDK 8(译注,现在JDK 8已经发布了)中的Lambda表达式——特别是怎样使用它来编写Comparator和对集合(Collection)进行排序. 这篇文章是Baeldung上的“Java ——回归基础”(“Java – Back to Basic”)系列的一部分. 首先,让我们先定义一个简单的实体类: public class Human { private String name; private int age; public Hu…
我们通常使用Collections.sort()方法来对一个简单的数据列表排序.但是当ArrayList是由自定义对象组成的,就需要使用comparable或者comparator接口了.在使用这两者进行排序之前,先尝试不实现任何接口来进行排序. 考虑下面的例子——有一个Student类,具有三个属性:name, rollno, age public class Student { private String name; private int rollno; private int age;…
大家对java接口Comparator和Comparable都不陌生,JDK8里面Comparable还和以前一样,没有什么改动:但是Comparator在之前基础上增加了很多static和default方法.本文主要结合JDK的stream编程,学习下Comparator.阅读本文需要一些前置知识,可以参考如下文章. JDK8新特性:接口的静态方法和默认方法 http://blog.csdn.net/aitangyong/article/details/54134385 JDK8新特性:函数式…
一需求 二实现Comparator接口 三验证排序结果 验证第一条件首先按级别排序级别最高的排在前面 验证第二条如果级别相等那么按工资排序工资高的排在前面 验证第三条如果工资相当则按入职年数排序入职时间最长的排在前面 附录javautilComparator接口源代码 一.需求 假设现在有个如此的需求:需要对一个这样的雇员列表进行排序,排序规则如下: 1.首先级别最高的排在前面, 2.如果级别相等,那么按工资排序,工资高的排在前面, 3.如果工资相当则按入职年数排序,入职时间最长的排在前面. 雇…