索引
1、填充替换数组元素
2、复制数组元素
3、查找数组元素
4、数组排序
int[] arr = new int[] { 1, 2, 3, 4, 5 };
System.out.print("填充前: ");
for (int n : arr) {
System.out.print(" " + n);
}
System.out.println();
// 用8填充替换索引号从1到3,但不包括3的数组元素
Arrays.fill(arr, 1, 3, 8);
System.out.print("填充后: ");
for (int n : arr) {
System.out.print(" " + n);
}
System.out.println();
// 用100填充替换整个数据元素
Arrays.fill(arr, 100);
System.out.print("填充后: ");
for (int n : arr) {
System.out.print(" " + n);
}
System.out.println();
System.out.println();
int[] arr2 = { 1, 2, 3, 4, 5 };
System.out.println("arr2:" + Arrays.toString(arr2));
// 复制前三个元素
int[] arr3 = Arrays.copyOf(arr2, 3);
System.out.println("arr3:" + Arrays.toString(arr3));
// 复制索引号1到3,但不包括3的元素
int[] arr4 = Arrays.copyOfRange(arr2, 1, 3);
System.out.println("arr4:" + Arrays.toString(arr4));
System.out.println("arr2:" + Arrays.toString(arr2));
System.out.println();
int[] a = { 1, 3, 4, 6, 8, 9 };
binary(二分)Search(查找)要求数组有序
找到返回索引,未找到返回应该插入的位置(从1计数)前面加一个负号
// x4=2,因为4的索引是2
int x4 = Arrays.binarySearch(a, 4);
// x5=-4,因为找不到值为5的元素,如果把5插入到数组中,它应该放在第4个位置
int x5 = Arrays.binarySearch(a, 5);
// x0=-1,因为找不到值为0的元素,如果把0插入到数组中,它应该放在第1个位置
int x0 = Arrays.binarySearch(a, 0);
// x10=-7,因为找不到值为10的元素,如果把10插入到数组中,它应该放在第7个位置
int x10 = Arrays.binarySearch(a, 10);
返回结果为0或者整数,表示查找成功返回值表示该元素的索引
返回结果为负数,表示查找失败
System.out.println("x4:" + x4);
System.out.println("x5:" + x5);
System.out.println("x0:" + x0);
System.out.println("x10:" + x10);
System.out.println();
sort对数组进行排序,升序排列
int[] arrSort = new int[] { 23, 42, 12, 8, 5, 10 };
System.out.println("原一维数组是:");
for (int i = 0; i < arrSort.length; i++)
{
System.out.print(arrSort[i] + " ");
}
Arrays.sort(arrSort);
System.out.println("\n升序排序后的数组是:");
for (int i = 0; i < arrSort.length; i++)
{
System.out.print(arrSort[i] + " ");
}