我们都知道,要对自建对象按照一定规则进行排序的话,要求自建对象实现Comparable接口,并重写compareTo() 方法,但compareTo() 方法的释义却不是那么容易搞清楚,下面举例进行阐述: 声明一个Student类(成员变量id,name)实现Comparable接口,然后重写compareTo()方法, public class Student implements Comparable<Student>{ private int id; private String nam…
代码: 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…
public class TreeMapTest { public static void main(String[] args) { Map<Student,Integer> students = new TreeMap<>(); students.put(new Student("11"),1); students.put(new Student("11"),1); System.out.println(students.size());…
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…
[自然排序] package com.hxl; public class Student implements Comparable<Student> { private String name; private int age; public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getNa…
String类的定义:    java.lang  类 String   java.lang.Object      java.lang.String 所有已实现的接口:Serializable, CharSequence, Comparable<String> public final class String      extends Objectimplements Serializable, Comparable<String>, CharSequenceString 类代…
>要实现自然排序,对象集合必须实现Comparable接口,并重写compareTo()方法 >一般需求中描述的是"主要条件",如:按姓名长度排序.  需注意次要条件 如:长度相同时,姓名内容,年龄等条件是否相等,这决定着是否存入TreeSet集合.   package cn.itcast.day21.treeset; /* * 要实现自然排序,就一定要实现Comparable接口,并重写compareTo()方法 * * 若不实现Comparable接口,而把对象往Tre…
package cn.learn.collection.Collections; /* 排序的对象的类,实现comparable借口,重写compareto方法 若要打印必须重写toString方法,会默认调用 */ public class Person implements Comparable<Person>{ private String name; private int age; @Override public String toString() { return "P…
java中的compareto方法的详细介绍 Java Comparator接口实例讲解(抽象方法.常用静态/默认方法) 一.java中的compareto方法 1.返回参与比较的前后两个字符串的asc码的差值,如果两个字符串首字母不同,则该方法返回首字母的asc码的差值 String a1 = "a"; String a2 = "c"; System.out.println(a1.compareTo(a2));//结果为-2   2.即参与比较的两个字符串如果首字…
/** * * @author ocq */ class Parent implements Comparable { private int age = 0; public Parent(int age) { this.age = age; } public int compareTo(Object o) { System.out.println("method of 父类"); Parent o1 = (Parent) o; return age > o1.age ? 1 :…