如何使用Java数组函数实现常见操作
发布时间:2023-06-24 16:34:16
Java是一种流行的编程语言,它包含了一系列函数可以用来操作数组。在本文中,我们将介绍一些常见的数组操作,以及如何在Java中使用数组函数实现它们。
1.数组排序
Java中有两种方式可以对数组进行排序:冒泡排序和快速排序。下面是用Java内置的Arrays类实现冒泡排序的代码:
import java.util.Arrays;
public class BubbleSort {
public static void main(String args[]) {
int[] arr = {13, 7, 6, 45, 21, 9, 101, 102};
Arrays.sort(arr);
System.out.print("Array after sorting: ");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
输出结果:
Array after sorting: 6 7 9 13 21 45 101 102
2.数组查找
Java中有两种方式可以对数组进行查找:线性查找和二分查找。下面是用Java内置的Arrays类实现线性查找的代码:
import java.util.Arrays;
public class LinearSearch {
public static void main(String args[]) {
int arr[] = {10, 20, 30, 40, 50};
int key = 30;
int res = Arrays.binarySearch(arr, key);
if (res >= 0) {
System.out.println(key + " found at index " + res);
} else {
System.out.println(key + " not found in the array");
}
}
}
输出结果:
30 found at index 2
3.数组拷贝
Java中有两种方式可以拷贝数组:浅拷贝和深拷贝。下面是用Java内置的Arrays类实现浅拷贝的代码:
import java.util.Arrays;
public class ShallowCopy {
public static void main(String args[]) {
int arr1[] = {1, 2, 3, 4, 5};
int arr2[] = Arrays.copyOf(arr1, arr1.length);
System.out.println("Original Array: " + Arrays.toString(arr1));
System.out.println("Copy of Array: " + Arrays.toString(arr2));
}
}
输出结果:
Original Array: [1, 2, 3, 4, 5] Copy of Array: [1, 2, 3, 4, 5]
4.数组合并
Java中可以使用两种方式合并数组:使用循环和使用System.arraycopy()函数。下面是用Java内置的Arrays类实现使用System.arraycopy()函数合并数组的代码:
import java.util.Arrays;
public class MergeArrays {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3};
int[] arr2 = {4, 5, 6};
int[] arr3 = new int[arr1.length + arr2.length];
System.arraycopy(arr1, 0, arr3, 0, arr1.length);
System.arraycopy(arr2, 0, arr3, arr1.length, arr2.length);
System.out.println("Merged Array: " + Arrays.toString(arr3));
}
}
输出结果:
Merged Array: [1, 2, 3, 4, 5, 6]
5.数组截取
Java中可以使用Arrays.copyOfRange()函数截取数组。下面是用Java内置的Arrays类实现截取数组的代码:
import java.util.Arrays;
public class ArraySubsection {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4, 5, 6, 7, 8};
int[] arr2 = Arrays.copyOfRange(arr1, 2, 6);
System.out.println("Original Array: " + Arrays.toString(arr1));
System.out.println("Subsection of Array: " + Arrays.toString(arr2));
}
}
输出结果:
Original Array: [1, 2, 3, 4, 5, 6, 7, 8] Subsection of Array: [3, 4, 5, 6]
6.数组填充
Java中可以使用Arrays.fill()函数,将数组中的所有元素都设置为指定的值。下面是用Java内置的Arrays类实现数组填充的代码:
import java.util.Arrays;
public class ArrayFill {
public static void main(String[] args) {
int[] arr = new int[5];
Arrays.fill(arr, 10);
System.out.println("New Array: " + Arrays.toString(arr));
}
}
输出结果:
New Array: [10, 10, 10, 10, 10]
7.数组反转
Java中可以使用Arrays类的reverse()函数将数组反转。下面是用Java内置的Arrays类实现数组反转的代码:
import java.util.Arrays;
public class ArrayReverse {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6};
System.out.println("Original Array: " + Arrays.toString(arr));
int[] arr2 = new int[arr.length];
for (int i = 0, j = arr.length - 1; i < arr.length; i++, j--) {
arr2[i] = arr[j];
}
System.out.println("Reversed Array: " + Arrays.toString(arr2));
}
}
输出结果:
Original Array: [1, 2, 3, 4, 5, 6] Reversed Array: [6, 5, 4, 3, 2, 1]
总结
Java内置的Arrays类提供了丰富的操作数组的函数,可以很方便地实现各种数组操作。本文介绍了几个常见的数组操作,如数组排序、查找、拷贝、合并、截取、填充和反转。快速掌握这些函数,将对你编写更快、更方便和更高质量的Java程序有很大帮助。
