comparable接口,arrayList中对象排序
comparable接口,arrayList<>排序
https://blog.csdn.net/chunxiaqiudong5/article/details/52760058
1.要比较的实体类继承Comparable接口
2.重写comparaTo()方法;在该方法中可以设置计较策略,
result=this.age.compareTo(o.getAge());
result==0 表示this.age == o.getAge()
result == 1 表示 this.age > o.getAge()
result ==-1 表示this.age <o.getAge()
3.Collection.sort(sList);
package com.example.study.comparabel;/*** @program: demo* @description: 测试实体类* @author: sjk* @create: 2018-09-13 15:23**/public class Student implements Comparable<Student> {private Integer age;private Integer score;private String name;public Student(Integer age, Integer score, String name) {this.age = age;this.score = score;this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public Integer getScore() {return score;}public void setScore(Integer score) {this.score = score;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "Student{" +"age=" + age +", score=" + score +", name='" + name + '\'' +'}';}@Overridepublic int compareTo(Student o) {//o是当前传入的 strudent//this 是下一个要比较的student//this.age和o.age 相等 result=0//this.age>o.age result=1//this.age<o.age result=-1int result =0;result=this.age.compareTo(o.getAge());if(result==0){result=this.score.compareTo(o.getScore());}return result;}}
import org.junit.Test;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.List;/*** @program: demo* @description: 测试* @author: sjk* @create: 2018-09-13 15:30**///@RunWith(SpringRunner.class)//@SpringBootTestpublic class ComparableTest {@Testpublic void test1() {List<Student> sList = new ArrayList<>();Student s1 = new Student(18,80,"张三");Student s2 = new Student(19,81,"张四");Student s3 = new Student(20,83,"张五");Student s4 = new Student(20,82,"张六");sList.add(s2);sList.add(s3);sList.add(s4);sList.add(s1);Collections.sort(sList);for (Student s : sList) {System.out.println(s.toString());}}}
comparable接口,arrayList中对象排序相关推荐
- 十三、实现Comparable接口和new ComparatorT(){ }排序的实现过程
参考:https://www.cnblogs.com/igoodful/p/9517784.html Collections有两种比较规则方式,第一种是使用自身的比较规则: 该类必须实现Compara ...
- arraylist怎么在mysql中排序_对ArrayList中对象元素进行排序
rrayList中的元素进行排序,主要考查的是对util包中的Comparator接口和Collections类的使用. 实现Comparator接口必须实现compare方法,自己可以去看API帮助 ...
- java 匿名类实现6_java匿名内部类,以及实现Comparato和Comparable接口实现对对象的排序...
匿名内部类的声明使用方式, Comparabletor接口实现,需要先导入包,再实现Comparator的对象比较的方法,并且需要新声明比较器类去实现此接口,再用比较器类新建对象调用compare(O ...
- java中对象排序_java中 对象的排序
1:排序类 package com.tixa.bad.customer.util; import java.util.ArrayList; import java.util.Collections; ...
- Java 中类的比较与排序方法(应用Comparable接口与Comparator接口)通俗易懂
引言 在平时写Java的程序的时候,如果要进行一些基本类型的变量的比较,可以很方便得调用Math.max().Math.min()等方法,如果要对数组或者列表进行排序,也可以用Arrays.sort( ...
- Java中的冒泡排序,Comparator接口和Comparable接口的简单使用
冒泡排序 冒泡排序是一种常见的排序方法,按照一定的规则(比如从小到大或者从大到小的顺序)对一组数据进行排序.而在Java开发中,也经常用到冒泡排序.我们就以下面的一个例子来讲解冒泡排序算法. 给定一个 ...
- Java中ArrayList 元素的排序
ArrayList 是一种 List 实现,它的内部用一个动态数组来存储元素,因此 ArrayList 能够在添加和移除元素的时候进行动态的扩展和缩减. <一> 排序字符串的ArrayLi ...
- Java中的Comparable接口和Comparator接口
介绍 Comparable<T>接口和Comparator<T>接口都是JDK中提供的和比较相关的接口.使用它们可以对对象进行比较大小,排序等操作.这算是之后排序的先导知识吧. ...
- Java基础之Comparable接口和Comparator接口的比较
前言 就是普普通通的写这么一篇文章,java集合类估计java程序猿都知道,那就写一点小众的. 在实际应用中,我们往往有需要比较两个自定义对象大小的地方.而这些自定义对象的比较,就不像简单的整型数据那 ...
最新文章
- 使用FormData进行Ajax请求异步上传图片案例
- 配置WCF同时支持WSDL和REST,swaggerwcf生成文档
- 单调栈 leetcode整理(三)
- php默认语法,php语法基本规则
- python将excel文件变成txt文件
- 有知识和没有知识的两种人,哪种人最幸福,他们的区别在哪里?
- 中缀表达式求值,中缀表达式转化为二叉树
- Excel中怎么查找重复值
- ubuntu18.04 使用scrcpy将安卓手机投屏到电脑
- H3C服务器出厂系统密码,H3C S3100交换机不知道密码如何恢复出厂设置
- lombook插件安装
- 去掉你代码里的 document.write(script...
- hdu4415 Assassin’s Creed (贪心)
- 靠给员工画大饼,一口气创办10家公司身价过亿,吓傻周鸿祎!
- Ubuntu安装Beyond Compare(五)
- DSS部署-7、配置Python
- html js中英切换,使用js实现URL中的中英文转化 - 小俊学习网
- mysql最新版安装
- 音频数据格式:PCM,WAV,MIDI
- EAS小贷系统(财务业务一体化)