如何在Java中对数组排序

时间:2020-02-23 14:34:42  来源:igfitidea点击:

Java Array就像一个容器,可以容纳固定数量的相同类型的项目,它可以是基本类型也可以是对象。

Java中的数组排序

有时我们需要在Java中对数组进行排序,我们可以使用Arrays类对数组进行排序。
数组是一个实用程序类,提供了许多有用的方法来使用Java中的数组。

让我们看一个使用Java对数组进行排序的示例。

package com.theitroad.sort;

import java.util.Arrays;

public class JavaArraySort {

  /**
   * This class shows how to sort an array in Java
   * @param args
   */
  public static void main(String[] args) {
      int[] intArr = {1, 4, 2, 6, 3};
      String[] strArr = {"E", "A", "U","O","I"};
      //sort int array
      Arrays.sort(intArr);
      Arrays.sort(strArr);
      
      System.out.println(Arrays.toString(intArr));
      System.out.println(Arrays.toString(strArr));
  }

}

上面程序的输出是:

[1, 2, 3, 4, 6]
[A, E, I, O, U]

重要事项

  • 仅当数组类型实现Comparable接口时,才能使用" Arrays.sort(T [] tArr)"。

  • Arrays.sort(T [] tArr,Comparator c)还有另一个变体,我们可以根据不同的字段对自定义对象数组进行排序。

  • 您可以转到Java可比较器和比较器,以了解使用Comparator对数组进行排序的知识。

  • Arrays.sort(T [] t)使用Dual-Pivot Quicksort算法,性能为O(n log(n))。
    排序以自然升序进行。

用Java排序数组有哪些不同的方法?

有很多算法可以对数组进行排序。
一些受欢迎的是:

  • 气泡排序
  • 插入排序
  • 堆排序
  • 合并排序
  • 快速排序

我们可以编写代码来实现所有这些算法来对数组进行排序。
但是,始终建议使用内置的Arrays.sort()函数进行无错误的排序并提高性能。