在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 ]

