继承Comparable接口来实现排序】的更多相关文章

1.java代码里进行排序(若sql能排序,就不要用代码排序) 可以继承Comparable接口来实现,若是在类中,可以声明Comparator对象,来进行比较 List<Map> maps=new ArrayList<>(); //对maps进行赋值 Comparator comp = new Comparator() { @Override public int compare(Object o1, Object o2) { Map<String, Object>…
代码: 1 import java.util.*; 2 3 /** 4 * 学习自定义排序:继承Comparable接口,重写compareTo方法(排序规则). 5 * TreeMap容器的Key是自动排序的,Key为自定义类时,必须重写排序规则. 6 * Iterator迭代器遍历Map容器 7 */ 8 public class DiySort { 9 10 /** 11 * 测试 12 * @param args 13 */ 14 public static void main(Stri…
class Student implements Comparable{ String name; int gpa; @Override public int compareTo(Object arg0) { // TODO Auto-generated method stub Student s = (Student)arg0; if(gpa == s.gpa) return name.compareTo(s.name); else if(gpa < s.gpa) return -1; els…
Comparable 接口只有一个 int compareTo(T o) 方法 1.int compareTo(T o) 方法 方法说明: 比较此对象和规定的对象,如果此对象大于,等于,小于规定对象,则分别返回负整数,0和正整数. 代码说明: (T)a.compareTo(T b) a>b:返回一个正整数 a=b:返回0. a<b:返回一个负整数 2.通俗点来说: compareTo(T o) 方法实际定义了一套比较规则,规则就是方法体. 比较结果就是方法返回结果. 返回正整数表示当前对象大于…
笔记: //排序真麻烦!没有C++里的好用又方便!ORZ!ORZ!数组排序还还自己写个TreeSet()和( Comparable接口(自然排序) 或者 Comparator接口 (定制排序))import java.util.*; import java.lang.*; /**对象排序 * a.实现Comparable接口 + TreeSet()自定义排序 Student[id,name]数组 * 创建一个Student类,实现Comparable接口 ,实现按id自动降序排序 * (可以直接…
默认的排序方法: 让类继承Comparable接口,重写compareTo方法. 示例代码: package com.imooc.collection; import java.util.HashSet; import java.util.Objects; import java.util.Set; /** * 学生类 * Set中的元素是唯一的,不会重复,但是没有顺序. */ public class Student implements Comparable<Student>{ priva…
Comparable & Comparator 都是用来实现集合中元素的比较.排序的: Comparable 是在集合内部定义的方法实现的排序: Comparator 是在集合外部实现的排序: 所以,如想实现排序,就需要在集合外定义 Comparator 接口的方法或在集合内实现 Comparable 接口的方法. Comparator位于包java.util下,而Comparable位于包java.lang下 Comparable 是一个对象本身就已经支持自比较所需要实现的接口(如 Strin…
CompareTo方法没有在Object中声明,它是Comparable接口中的唯一的方法,不但允许进行简单的等同性比较,而且允许执行顺序比较.类实现了Comparable接口,就表明它的实例具有内在的排序关系.为实现Comparable接口的对象排序:Arrays.sort(a); 一旦实现了Comparable接口,它可以跟许多泛型算法以及依赖于该接口的集合实现进行协作,只需付出很小的努力就可以获得非常强大的功能.Java平台的所有值类都实现了Comparable接口.如果一个类具有明显的内…
在今天做的LeetCode的题中有两道都出现了利用接口实现对象的排序.两题的相关链接: 1.利用comparable接口对对象排序 2.利用comparator接口实现排序 因为之前都没接触过这两个接口.一时不能明确它们的作用,所以在网上查找了非常多资料.如今大致弄清楚一些.如今记录下来,有什么欠缺,欢迎大家及时指正 1.Comparable<T>接口 在java API文档中描写叙述此接口是强行将实现它的每个类的对象进行总体排序-----称为该类的自然排序,实现此接口的对象列表和数组能够用C…
TreeSet是以自然顺序存的数据,例如 Set<Student> students=new TreeSet(); students.add(new Student("111")); students.add(new Student("333")); students.add(new Student("222")); for (Student student : students) { System.out.println(stude…