Java集合排序——集合排序概述、案例:对整型、字符串数据进行排序
主要内容
(1) 集合中的基本数据类型排序
(2) 集合中的字符串排序
(3) Comparator接口
(4) Comparable接口
回顾
(1) 数组的排序
//数组排序
int[] arr = {15,31,23,46,65,12}
Array.sort(arr);
Java集合排序方法在java.lang包里。
(2) 集合排序方法:
使用Collection类的sort()方法
sort(List<T> list)
根据元素的自然顺序对指定列表按升序进行排列。
案例1:对整型数据进行排序
Collection.sort();
例1:对存放在List中的整型数据进行排序。
注:这里的泛型使用的是Integer,这是因为<>里只能写类的名字,而Integer能类封装成对象,所以要写包装类。例如。list.add(5)
,那么5就可以直接被封装为Integer类型的对象了。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class IntSort {
public static void main(String[] args) {
// 对存储在List中的整型数据进行排序
List<Integer> list=new ArrayList<Integer>();
list.add(5);
list.add(9);
list.add(3);
list.add(1);
System.out.println("排序前:");
for(int n:list){
System.out.print(n+" ");
}
System.out.println();
//对List中的数据进行排序
Collections.sort(list);
System.out.println("排序后:");
for(int n:list){
System.out.print(n+" ");
}
}
}
运行结果:
排序前:
5 9 3 1
排序后:
1 3 5 9
案例2:对字符串数据进行排序
Collection.sort();
例1:对存放在List中的字符串进行排序。
注:字符串是按照ASCII码值进行排序。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class StringSort {
public static void main(String[] args) {
// 对存放在List中的字符串进行排序
List<String> list=new ArrayList<String>();
list.add("orange");
list.add("blue");
list.add("yellow");
list.add("gray");
System.out.println("排序前:");
for(String s:list){
System.out.print(s+" ");
}
System.out.println();
Collections.sort(list);
System.out.println("排序后:");
for(String s:list){
System.out.print(s+" ");
}
}
}
运行结果:
排序前:
orange blue yellow gray
排序后:
blue gray orange yellow