s-day02-Collections里面的sort方法以及Comparable接口
This commit is contained in:
@@ -0,0 +1,39 @@
|
|||||||
|
package com.inmind.collections04;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
|
/*
|
||||||
|
static <T extends Comparable<? super T>> void sort(List<T> list) 根据其元素的自然排序,按照升序排列指定的列表。
|
||||||
|
*/
|
||||||
|
public class Demo14 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
//整数的自然排序,默认升序
|
||||||
|
ArrayList<Integer> lists = new ArrayList<>();
|
||||||
|
Collections.addAll(lists, 111, 22, 32, 4, 555);
|
||||||
|
System.out.println(lists);
|
||||||
|
//对集合进行排序
|
||||||
|
Collections.sort(lists);
|
||||||
|
System.out.println(lists);
|
||||||
|
System.out.println("-------------------------------------");
|
||||||
|
//字符串的默认排序,按照字典排序,按ASCII码值
|
||||||
|
ArrayList<String> strs = new ArrayList<>();
|
||||||
|
Collections.addAll(strs, "ab", "ba", "aa", "ca", "ac","bb");
|
||||||
|
System.out.println(strs);
|
||||||
|
//对集合进行排序
|
||||||
|
Collections.sort(strs);
|
||||||
|
System.out.println(strs);
|
||||||
|
|
||||||
|
//自定义类的排序(Student)
|
||||||
|
ArrayList<Student> students = new ArrayList<>();
|
||||||
|
students.add(new Student("张三1", 18,88));
|
||||||
|
students.add(new Student("张三2", 18,90));
|
||||||
|
students.add(new Student("张三3", 18,93));
|
||||||
|
students.add(new Student("张三4", 18,39));
|
||||||
|
System.out.println(students);
|
||||||
|
//注意:Collections.sort排序时,传入的集合的内容,必须拥有自然排序功能(实现Comparable)
|
||||||
|
Collections.sort(students);
|
||||||
|
System.out.println(students);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package com.inmind.collections04;
|
||||||
|
|
||||||
|
public class Student implements Comparable<Student>{
|
||||||
|
String name;
|
||||||
|
int age;
|
||||||
|
int score;
|
||||||
|
|
||||||
|
public Student(String name, int age, int score) {
|
||||||
|
this.name = name;
|
||||||
|
this.age = age;
|
||||||
|
this.score = score;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Student{" +
|
||||||
|
"name='" + name + '\'' +
|
||||||
|
", score=" + score +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
排序口诀:
|
||||||
|
我(this)-它(参数o):升序
|
||||||
|
它-我:降序
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int compareTo(Student o) {
|
||||||
|
// return this.score - o.score; //升序
|
||||||
|
/* if (this.score > o.score) {
|
||||||
|
return -1;
|
||||||
|
} else if (this.score < o.score) {
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}*/
|
||||||
|
return o.score - this.score;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user