java.util.Arrays数组工具类,提供了很多静态方法来对数组进行操作,而且如下每一个方法都有各种重载形式,以下只列出int[]类型的,其他类型的数组类推:
-
static int binarySearch(int[] a, int key) :要求数组有序,在数组中查找key是否存在,如果存在返回第一次找到的下标,不存在返回负数
-
static int[] copyOf(int[] original, int newLength) :根据original原数组复制一个长度为newLength的新数组,并返回新数组
-
static int[] copyOfRange(int[] original, int from, int to) :复制original原数组的[from,to)构成新数组,并返回新数组
-
static boolean equals(int[] a, int[] a2) :比较两个数组的长度、元素是否完全相同
-
static void fill(int[] a, int val) :用val填充整个a数组
-
static void fill(int[] a, int fromIndex, int toIndex, int val):将a数组[fromIndex,toIndex)部分填充为val
-
static void sort(int[] a) :将a数组按照从小到大进行排序
-
static void sort(int[] a, int fromIndex, int toIndex) :将a数组的[fromIndex, toIndex)部分按照升序排列
-
static String toString(int[] a) :把a数组的元素,拼接为一个字符串,形式为:[元素1,元素2,元素3。。。]
import java.util.Arrays; import java.util.Random; public class Test{ public static void main(String[] args){ int[] arr = new int[5]; // 打印数组,输出地址值 System.out.println(arr); // [I@2ac1fdc4 // 数组内容转为字符串 System.out.println("arr数组初始状态:"+ Arrays.toString(arr)); Arrays.fill(arr, 3); System.out.println("arr数组现在状态:"+ Arrays.toString(arr)); Random rand = new Random(); for (int i = 0; i < arr.length; i++) { arr[i] = rand.nextInt(100);//赋值为100以内的随机整数 } System.out.println("arr数组现在状态:"+ Arrays.toString(arr)); int[] arr2 = Arrays.copyOf(arr, 10); System.out.println("新数组:" + Arrays.toString(arr2)); System.out.println("两个数组的比较结果:" + Arrays.equals(arr, arr2)); Arrays.sort(arr); System.out.println("arr数组现在状态:"+ Arrays.toString(arr)); } }