sort()方法是java.util.Arrays类方法。
语法如下:
public static void sort(int[] arr, int from_Index, int to_Index)arr - the array to be sorted
from_Index - the index of the first element, inclusive, to be sorted
to_Index - the index of the last element, exclusive, to be sortedThis method doesn't return any value.
一个Java程序按升序对整数数组进行排序.
//A sample Java program to sort an array of integers
//using Arrays.sort(). It by default sorts in
//ascending order
import java.util.Arrays;
public class SortExample
{
public static void main(String[] args)
{
//Our arr contains 8 elements
int [] arr = { 13 , 7 , 6 , 45 , 21 , 9 , 101 , 102 };
Arrays.sort(arr);
System.out.printf( "Modified arr[] : %s" , Arrays.toString(arr));
}
}
输出如下:
Modified arr[] : [6, 7, 9, 13, 21, 45, 101, 102]
我们还可以使用sort()对arr[]的子数组进行排序
//A sample Java program to sort a subarray
//using Arrays.sort().
import java.util.Arrays;
public class SortExample
{
public static void main(String[] args)
{
//Our arr contains 8 elements
int [] arr = { 13 , 7 , 6 , 45 , 21 , 9 , 2 , 100 };
//Sort subarray from index 1 to 4, i.e., //only sort subarray {7, 6, 45, 21} and
//keep other elements as it is.
Arrays.sort(arr, 1 , 5 );
System.out.printf( "Modified arr[] : %s" , Arrays.toString(arr));
}
}
输出如下:
Modified arr[] : [13, 6, 7, 21, 45, 9, 2, 100]
我们还可以按降序排序。
//A sample Java program to sort a subarray
//in descending order using Arrays.sort().
import java.util.Arrays;
import java.util.Collections;
public class SortExample
{
public static void main(String[] args)
{
//Note that we have Integer here instead of
//int[] as Collections.reverseOrder doesn't
//work for primitive types.
Integer[] arr = { 13 , 7 , 6 , 45 , 21 , 9 , 2 , 100 };
//Sorts arr[] in descending order
Arrays.sort(arr, Collections.reverseOrder());
System.out.printf( "Modified arr[] : %s" , Arrays.toString(arr));
}
}
输出如下:
Modified arr[] : [100, 45, 21, 13, 9, 7, 6, 2]
我们还可以按字母顺序对字符串进行排序。
//A sample Java program to sort an array of strings
//in ascending and descending orders using Arrays.sort().
import java.util.Arrays;
import java.util.Collections;
public class SortExample
{
public static void main(String[] args)
{
String arr[] = { "practice.lsbin.org" , "quiz.lsbin.org" , "code.lsbin.org"
};
//Sorts arr[] in ascending order
Arrays.sort(arr);
System.out.printf( "Modified arr[] : \n%s\n\n" , Arrays.toString(arr));
//Sorts arr[] in descending order
Arrays.sort(arr, Collections.reverseOrder());
System.out.printf( "Modified arr[] : \n%s\n\n" , Arrays.toString(arr));
}
}
输出如下:
Modified arr[] : Modified arr[] :
[quiz.lsbin.org, practice.lsbin.org, code.lsbin.org]
我们还可以根据用户定义的标准对数组进行排序。
我们用Comparator接口实现此目的。下面是一个例子。
//Java program to demonstrate working of Comparator
//interface
import java.util.*;
import java.lang.*;
import java.io.*;
//A class to represent a student.
class Student
{
int rollno;
String name, address;
//Constructor
public Student( int rollno, String name, String address)
{
this .rollno = rollno;
this .name = name;
this .address = address;
}//Used to print student details in main()
public String toString()
{
return this .rollno + " " + this .name +
" " + this .address;
}
}class Sortbyroll implements Comparator<
Student>
{
//Used for sorting in ascending order of
//roll number
public int compare(Student a, Student b)
{
return a.rollno - b.rollno;
}
}//Driver class
class Main
{
public static void main (String[] args)
{
Student [] arr = { new Student( 111 , "bbbb" , "london" ), new Student( 131 , "aaaa" , "nyc" ), new Student( 121 , "cccc" , "jaipur" )};
System.out.println( "Unsorted" );
for ( int i= 0 ;
i<
arr.length;
i++)
System.out.println(arr[i]);
Arrays.sort(arr, new Sortbyroll());
System.out.println( "\nSorted by rollno" );
for ( int i= 0 ;
i<
arr.length;
i++)
System.out.println(arr[i]);
}
}
输出如下:
Unsorted
111 bbbb london
131 aaaa nyc
121 cccc jaipurSorted by rollno
111 bbbb london
121 cccc jaipur
131 aaaa nyc
Arrays.sort()与Collections.sort()
【Java中的Arrays.sort()用法示例】Arrays.sort也适用于具有基本数据类型的数组。Collections.sort()适用于ArrayList、LinkedList等对象集合。
推荐阅读
- 算法分析(构建堆的时间复杂度介绍)
- 如何轻松学习图案打印()
- SQL连接(笛卡尔连接和自连接用法示例)
- PHP startsWith()和endsWith()函数用法示例
- 本图文详细教程教你Ghost win10系统64位旗舰版密钥激活码
- win10一键安装win7系统图文详细教程图解
- 安装系统 U盘重装系统windows1064位旗舰版图文详细教程图解
- 深度系统win10纯净版64位最新推荐
- 本图文详细教程教你Ghost win764位与win10系统哪个好用