zxy0307's picture
Upload 2300 files
0284885 verified
Raw History Blame Contribute Delete
3.08 kB
package Arrays_package;
import java.util.Arrays;
public class Arrays_demo1 {
public static void main(String[] args) {
/*
public static String toString (数组) 把数组拼接成一个字符串
public static int binarySearch (数组, 查找元素) 二分查找法查找元素
public static int[] copyOf (原数组, 新数组长度) 拷贝数组
public static int[] copyOfRange (原数组, 起始索引, 结束索引) 拷贝数组(指定范围)
public static void fill (数组, 元素) 填充数组
public static void sort (数组) 按照默认方式进行数组排序
public static void sort (数组, 排序规则) 按照指定的规则排序
*/
//toString:将数组变成字符串
System.out.println("-------------toString--------------");
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
System.out.println(Arrays.toString(arr));
//binarySearch:二分查找法查找元素
//细节1:二分查找的前提,数组中的元素必须是有序的
//细节2:如果要查找的元素是存在的,那么返回的是真实索引
//但是,如果要查找的元素是不存在的,返回的是 -插入点 - 1
System.out.println("-------------binarySearch--------------");
System.out.println(Arrays.binarySearch(arr, 10));//-10
System.out.println(Arrays.binarySearch(arr, 5));
System.out.println(Arrays.binarySearch(arr, 3));
//copyOf:拷贝数组
//参数1:老数组
//参数2:新数组的长度
//方法的底层会根据第二个参数来创建新的数组
//如果新数组的长度小于老数组的长度,会部分拷贝
//如果新数组的长度等于老数组的长度,会完全拷贝
//如果新数组的长度大于老数组的长度,会补上默认初始值
System.out.println("-------------copyOf--------------");
int[] newArr1 = Arrays.copyOf(arr, 20);
System.out.println(Arrays.toString(newArr1));
//copyOfRange:拷贝数组(指定范围)
//细节:包头不包尾,包左不包右
System.out.println("-------------copyOfRange--------------");
int[] newArr2 = Arrays.copyOfRange(arr, 0, 5);
System.out.println(Arrays.toString(newArr2));
//fill:填充数组
System.out.println("-------------fill--------------");
Arrays.fill(arr, 100);
System.out.println(Arrays.toString(arr));
//sort:排序。默认情况下,给基本数据类型进行升序排序,底层使用的是快速排序。
System.out.println("-------------sort--------------");
int[] arr2 = {10, 2, 3, 5, 6, 1, 7, 8, 4, 9};
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));
}
}