关于Java中的排序阵列的知识大全

56 阅读4分钟

什么是Java中的排序阵列:你需要知道的一切

What Is Sort Array in Java: Everything You Need to Know

目录

Java中的排序数组是定义在java.util.Arrays类中的一个方法。顾名思义,它在以升序或降序对数组进行排序时非常有用。在本教程中,你将了解什么是arrays.sort(),以及如何在Java中使用排序数组。

什么是Java中的Arrays.sort()?

数组是java.util包中的一个,它提供了预先定义的sort()方法。它是一个静态方法,不返回任何值。当你在Java中调用sort数组时,它会解析数组中的每个元素,并按照指定的升序或降序进行排序。数组可以是各种数据类型,包括int、long、char和float。Arrays.sort()方法的一般语法是。

public static void sort(int\[\] ar, int from\_index, int to\_index)

在上面的语法中:

  • ar:它是数组名称的简称
  • from_index:一个可选的参数,标志着开始排序的元素的索引(包括)。
  • to_index:一个可选参数,表示排序结束的元素的索引(不包括)。

既然你现在看到了Arrays.sort()方法是什么,让我们看一个例子来说明如何对一个整数数组进行升序排序并更好地理解这个概念。

例子:在Java中对一个数组进行升序排序

在下面的例子中,你必须定义一个名为ar的数组,里面有十个整数值。然后,你应该使用Arrays.sort()方法对其进行排序。这就是如何使用Arrays.sort()方法对Java中的数组进行升序排序。

Javainascendingorder

Javainascendingorder_rslt.

对数组进行排序的其他方法是什么?

和升序排序一样,你也可以用其他方式和类型对数组进行排序,比如以降序排序的整数数组、子数组,以及按字母顺序排序的字符串。

例子:在Java中以降序对数组进行排序

要在Java中对数组进行降序排序,你必须使用集合类中的reverseOrder()方法。reverseOrder()方法并不对数组进行解析。相反,它只是将数组的自然排序倒置。这意味着你将首先使用Java中的sort数组以升序排序,然后用reverseOrder()方法将其逆转。还有一点值得注意的是,Collections.reverseOrder()并不支持原始类型。因此,你必须使用 "Integer "而不是 "int "来定义整数数据类型阵列。你可以在下面的例子中看到它的作用,你应该使用你之前使用的相同的整数数组,并按降序排序。

Javaindescendingorder.

Javaindescendingorder_rslt

例子:在Java中对子数组进行排序

子数组只不过是一个大数组的一部分。例如,如果你把前面的例子中的ar数组拿出来,它包含10个值。如果你只对几个元素进行排序,而不是对整个数组进行排序,这就叫做对子数组进行排序。这可以使用sort()方法的完整语法并提供可选的参数from_index和to_index来完成。当你对一个子数组进行排序时,其余的元素保持不变。下面的例子使用同一个ar数组,对索引1到7的值的子数组进行排序,同时保持索引0、8和9的值不变。

subarrayinJava subarrayinJava_rslt

例子:在Java中按字母顺序对字符串数组进行排序

你也可以使用Java中的排序数组来按字母顺序对字符串进行排序。下面的例子定义了一个字符串数组,并以升序和降序进行排序。

Javainalphabeticalorder

Javainalphabeticalorder_rslt

例子:在Java中不使用Sort()方法对数组进行排序

你也可以用用户定义的方法在Java中对数组进行排序,使用比较器接口和for aloop。你所要做的就是在方法中定义逻辑,使其能够对数组进行排序。请看下面的例子,你必须在不使用Java中Arrays.sort()方法的情况下对一个数组进行排序。

SortarrayinJava

SortarrayinJava_rslt

array.sort()和collection.sort()之间的区别是什么?

与数组类类似,集合类也提供了sort()方法。然而,这两种方法之间存在着巨大的差异。Arrays.sort()方法支持原始的数据类型。另一方面,Collections.sort()方法支持ArrayList和LinkedList等集合。

使用For循环

如果你有较小的数组,你可以使用for循环来执行排序。但是请注意,如果数组的大小增加,就会使问题复杂化。你可以使用两个for循环,一个从起点开始遍历数组,第二个for循环,嵌入到外部循环中,用于遍历下一个元素。

for (initialExpression; testExpression; updateExpression) {

    // body of the loop

}

总结

这个教程应该有助于解决关于Java中 "排序数组 "因素的任何疑惑。