java数组的操作和调整指令示例

数组是编程中使用的一个强大且有用的概念。Java SE 提供了一些方法来执行与数组相关的一些最常见的操作。例如,该ArrayCopyDemo示例使用类的arraycopy()方法,System而不是手动迭代源数组的元素并将每个元素放入目标数组。这是在幕后执行的,使开发人员只需使用一行代码即可调用该方法。

为方便起见,Java SE 在类中提供了几种执行数组操作(常见任务,如复制、排序和搜索数组)的方法java.util.Arrays。例如,前面的示例可以修改为使用类的java.util.Arrays方法,如您在示例java.util.Arrays中所见。ArrayCopyOfDemo不同的是,使用java.util.Arrays方法不需要在调用方法之前创建目标数组,因为目标数组是由方法返回的:

class ArrayCopyOfDemo {public static void main(String[] args) {String[] copyFrom = {"Affogato", "Americano", "Cappuccino", "Corretto", "Cortado","Doppio", "Espresso", "Frappucino", "Freddo", "Lungo", "Macchiato","Marocchino", "Ristretto" };String[] copyTo = java.util.Arrays.copyOfRange(copyFrom, 2, 9);for (String coffee : copyTo) {System.out.print(coffee + " ");}}}

如您所见,该程序的输出是相同的,尽管它需要的代码行数更少。请注意,该java.util.Arrays方法的第二个参数是要复制的范围的初始索引,包括在内,而第三个参数是要复制的范围的最终索引,不包括在内。在此示例中,要复制的范围不包括索引 9 处的数组元素(其中包含字符串Lungo)。

类中的方法提供的其他一些有用的操作java.util.Arrays是:

  • 在数组中搜索特定值以获取放置它的索引(binarySearch()方法)。
  • 比较两个数组以确定它们是否相等(equals()方法)。
  • 填充数组以在每个索引处放置特定值(fill()方法)。
  • 将数组按升序排序。这可以使用该sort()方法顺序完成,也可以同时使用parallelSort()Java SE 8 中引入的方法完成。多处理器系统上大型数组的并行排序比顺序数组排序更快。
  • 创建一个使用数组作为源的流(stream()方法)。例如,以下语句copyTo以与上一个示例相同的方式打印数组的内容:

java.util.Arrays.stream(copyTo).map(coffee -> coffee + " ").forEach(System.out::print);

java数组的操作和调整指令示例

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注