本文概述
- Java可比示例
- Java可比示例:逆序
compareTo(Object obj)方法
public int compareTo(Object obj):用于将当前对象与指定对象进行比较。它返回
- 如果当前对象大于指定对象, 则为正整数。
- 如果当前对象小于指定的对象, 则为负整数。
- 如果当前对象等于指定的对象, 则返回零。
- 字符串对象
- 包装类对象
- 用户定义的类对象
【Java Comparable接口】集合类提供用于对集合元素进行排序的静态方法。如果集合元素是Set或Map, 则可以使用TreeSet或TreeMap。但是, 我们无法对List的元素进行排序。 Collections类提供用于对List类型元素的元素进行排序的方法。
用于对List元素进行排序的Collections类的方法
public void sort(List list):用于对List的元素进行排序。列表元素必须是Comparable类型。
注意:默认情况下, String类和Wrapper类实现Comparable接口。因此, 如果将字符串或包装类的对象存储在列表, 集合或映射中, 则默认情况下它是可比较的。Java可比示例让我们看一下Comparable接口的示例, 该接口根据年龄对列表元素进行排序。
档案:Student.java
class Student implements Comparable<
Student>
{
int rollno;
String name;
int age;
Student(int rollno, String name, int age){
this.rollno=rollno;
this.name=name;
this.age=age;
}public int compareTo(Student st){
if(age==st.age)
return 0;
else if(age>
st.age)
return 1;
else
return -1;
}
}
文件:TestSort1.java
import java.util.*;
public class TestSort1{
public static void main(String args[]){
ArrayList<
Student>
al=new ArrayList<
Student>
();
al.add(new Student(101, "Vijay", 23));
al.add(new Student(106, "Ajay", 27));
al.add(new Student(105, "Jai", 21));
Collections.sort(al);
for(Student st:al){
System.out.println(st.rollno+" "+st.name+" "+st.age);
}
}
}
105 Jai 21
101 Vijay 23
106 Ajay 27
Java可比示例:逆序让我们看一下Comparable接口的相同示例, 该示例根据年龄以相反的顺序对列表元素进行排序。
档案:Student.java
class Student implements Comparable<
Student>
{
int rollno;
String name;
int age;
Student(int rollno, String name, int age){
this.rollno=rollno;
this.name=name;
this.age=age;
}public int compareTo(Student st){
if(age==st.age)
return 0;
else if(age<
st.age)
return 1;
else
return -1;
}
}
文件:TestSort2.java
import java.util.*;
public class TestSort2{
public static void main(String args[]){
ArrayList<
Student>
al=new ArrayList<
Student>
();
al.add(new Student(101, "Vijay", 23));
al.add(new Student(106, "Ajay", 27));
al.add(new Student(105, "Jai", 21));
Collections.sort(al);
for(Student st:al){
System.out.println(st.rollno+" "+st.name+" "+st.age);
}
}
}
106 Ajay 27
101 Vijay 23
105 Jai 21
推荐阅读
- Java Comparator接口
- Java中的集合
- Java WindowListener接口
- Java MouseMotionListener接口
- Java MouseListener接口
- 39个无需注册的最佳免费电子书下载网站推荐合集
- 路由器上的WPS按钮是什么(它是如何工作的?)
- 如何在Mac上截屏(Mac截屏的7种最佳方法)
- Windows 10中启动时的Adob??e GC Invoker Utility是什么(提示和指南)