对普通数组进行排序

使用 Arrays.sort()方法对基本数据类型数组(例如 intlong或者 String)进行排序,

String[] tokens = {"A","C","B","E","D"};
System.out.println(Arrays.toString(tokens));	//[A, C, B, E, D]
Arrays.sort(tokens);

System.out.println(Arrays.toString(tokens));	//[A, B, C, D, E]

对数组进行逆序排序

使用 Arrays.sort(arr,Collections.reverseOrder())对数组进行逆序排序。

String[] tokens = {"A","C","B","E","D"};
System.out.println(Arrays.toString(tokens));	//[A, C, B, E, D]
Arrays.sort(tokens, Collections.reverseOrder());	

System.out.println(Arrays.toString(tokens));	//[E, D, C, B, A]
之路教程 https://onitr oad .com

Java对对象数组进行排序

使用 Arrays.sort()方法对对象数组进行排序。

对象必须实现“Comparable”接口,这将决定它们的排序顺序。

  • 数组中的所有元素都必须实现 Comparable 接口。
  • 数组中的所有元素必须相互比较,并且在比较时不得抛出“ClassCastException”。
  • 相等的元素(基于比较逻辑)不会作为排序的结果重新排序;并将显示为它们在数组中的顺序。
  • 使用稳定、自适应、迭代的“合并排序”,可提供更好的性能。

示例: 根据员工“id”字段对数组进行排序。

import java.util.Arrays;
import java.util.Random;
public class Main 
{
	public static void main(String[] args) 
	{	
		Employee[] employees = getEmployees();

		System.out.println(Arrays.toString(employees));	//Unsorted array

		Arrays.sort(employees);

		System.out.println(Arrays.toString(employees));	//Sorted array
	}
	//Some method which return array of employees in random order
	private static Employee[] getEmployees() 
	{
		Random rand = new Random(10);
		Employee[] arr = new Employee[5];
		for(int i = 0; i < 5; i++) {
			Employee e = new Employee();
			e.setId(rand.nextInt(100));
			arr[i] = e;
		}
		return arr;
	}
}

Employee类必须实现 Comparable接口,默认情况下,按升序排序。

public class Employee {
	String id;
	String firstName;
	String lastName;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getFirstName() {
		return firstName;
	}
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	@Override
	public String toString() {
		return "Employee [id=" + id + ", firstName=" + firstName + ", lastName=" + lastName + "]";
	}
}
Java 如何对数组进行排序。
日期:2020-09-17 00:09:26 来源:oir作者:oir