在Java中排序数组
时间:2020-02-23 14:35:35 来源:igfitidea点击:
在本教程中,我们将看到如何在Java中对数组进行排序。
有各种方法可以在Java中排序数组。
我们可以实现不同的排序算法以对数组进行排序。
我们可以使用arrays.sort方法来排序Java中的数组。
有各种重载(overloading)版本的数组排序方法。
Java排序阵列
让我们看看一些示例来在Java中对数组进行排序。
排序数字数组
排序数字数组非常容易。
我们只需使用array.sort方法来排序数字数组。
package org.igi.theitroad; import java.util.Arrays; public class SortArrayInt { public static void main(String[] args) { int arr[]={7,33,22,11,20,5,2}; System.out.println("Before Sorting"); System.out.println("==============="); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+ " "); } Arrays.sort(arr); System.out.println(); System.out.println("==============="); System.out.println("After Sorting"); System.out.println("==============="); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } } }
运行上面的代码时,我们将得到以下输出:
Before Sorting =============== 7 33 22 11 20 5 2 =============== After Sorting =============== 2 5 7 11 20 22 33
排序字符串数组
排序一系列字符串也很容易。
我们只需使用array.sort方法来排序字符串数组。
这将按升序排序字符串数组。
package org.igi.theitroad; import java.util.Arrays; public class SortArrayString { public static void main(String[] args) { String arr[]={"Martin","Andy","John","Mary"}; System.out.println("Before Sorting"); System.out.println("==============="); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+ " "); } Arrays.sort(arr); System.out.println(); System.out.println("==============="); System.out.println("After Sorting"); System.out.println("==============="); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]+" "); } } }
运行上面的代码时,我们将得到以下输出:
Before Sorting =============== Martin Andy John Mary =============== After Sorting =============== Andy John Martin Mary
排序自定义对象数组
对于自定义对象的排序阵列,自定义对象应该实现可比接口,然后将其传递给数组。
排序方法。
我们还可以创建比较器对象并将其传递给数组。
排序方法。
package org.igi.theitroad; import java.util.Arrays; public class Employee implements Comparable<Employee>{ String name; int age; Employee(String name,int age) { this.name=name; this.age=age; } public static void main(String[] args) { Employee e1=new Employee("Martin", 20); Employee e2=new Employee("Andy", 18); Employee e3=new Employee("John", 22); Employee e4=new Employee("Mary", 21); Employee[] empArray={e1,e2,e3,e4}; System.out.println("Before Sorting"); System.out.println("==============="); for (int i = 0; i < empArray.length; i++) { System.out.print(empArray[i]+ " "); } Arrays.sort(empArray); System.out.println(); System.out.println("==============="); System.out.println("After Sorting"); System.out.println("==============="); for (int i = 0; i < empArray.length; i++) { System.out.print(empArray[i]+" "); } } public String toString() { return "[ name="+name+" age="+age+" ]"; } @Override public int compareTo(Employee e) { return name.compareTo(e.name); } }
运行上面的代码时,我们将得到以下输出:
Before Sorting =============== [ name=Martin age=20 ] [ name=Andy age=18 ] [ name=John age=22 ] [ name=Mary age=21 ] =============== After Sorting =============== [ name=Andy age=18 ] [ name=John age=22 ] [ name=Martin age=20 ] [ name=Mary age=21 ]