更新时间:2020-07-07 16:32:07 来源:极悦 浏览2150次
java中提供了对集合进行操作的工具类Collections,
Collections对集合中的元素提供了默认的排序方法,sort(),根据元素的自然顺序对指定列表按升序进行排序。
这里举两个例子来说明下这个方法
首先是一个简单的例子
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test_02 {
public static void main(String[] args) {
//创建
List list = new ArrayList();
list.add(3);
list.add(2);
list.add(5);
list.add(7);
System.out.println(list);
//排序
Collections.sort(list);
System.out.println(list);
}
}
输出结果:
[3,2,5,7]
[2,3,5,7]
对于这个例子,Integer类自己实现好了Comparable接口,并且重写了comepareTo方法,所以我们可以直接调用方法就可以实现排序,那么有些人可能会有些疑问,下面的例子可能会解决你的这些问题。
2.对于一些,自己创建的类,比如Person类,想根据里面的年龄属性进行排序的话,那么就需要实现Comparable接口,并且重写compareTo方法,这样就可以根据自己的需要,调用sort方法去排序啦,代码附下
public class Person implements Comparable {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Person() {
}
public Person(String name,int age) {
this.name = name;
this.age = age;
}
@Override
public int compareTo(Person p) {
if(age > p.getAge()) {
return 1;
}else if(age == p.getAge()) {
return 0;
}
return -1;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test_01 {
public static void main(String[] args) {
List list = new ArrayList();
list.add(new Person("张三",22));
list.add(new Person("李四",19));
list.add(new Person("王五",23));
list.add(new Person("赵六",18));
System.out.println(list);
Collections.sort(list);
System.out.println(list);
}
}
输出结果:
[Person[name=张三,age=22],Person[name=李四,age=19],Person[name=王五,age=23],Person[name=赵六,age=18]]
[Person[name=赵六,age=18],Person[name=李四,age=19],Person[name=张三,age=22],Person[name=王五,age=23]]
Java技术内容
Java中List集合:
以上就是极悦java培训机构的小编针对“编程基础之Java中的list集合排序方法”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习