二分查找
前提是数组有序
如果数组是无序的可以通过Arrays.sort(a);给数组排序
int[] a ={9,5,8,341,547,25};
Arrays.sort(a);
System.out.println(Arrays.toString(a));
找到和没找到
找到的情况是下标,没有找到的情况是 -(如果有的位置)-1
int[] a ={9,5,8,341,547,25};
Arrays.sort(a);
System.out.println(Arrays.toString(a));
int pos = Arrays.binarySearch(a,2);
System.out.println(pos);//结果为-1
动态初始化更改默认值Arrays.fill(a2,10);
int[] a2 = new int[5];//动态初始化默认为0
Arrays.fill(a2,10); //通过他就可以更改默认值
System.out.println(Arrays.toString(a2));//[10, 10, 10, 10, 10]
拷贝System.arraycopy
从数组a2中拷贝了从0两个长度的数到a3
public static void main(String[] args) {
int[] a ={9,5,8,341,547,25};
Arrays.sort(a);
System.out.println(Arrays.toString(a));
//二分查找{9,5,8,341,547,25}
//找到的情况是下标,没有找到的情况是 -(如果有的位置)-1
int pos = Arrays.binarySearch(a,2);
System.out.println(pos);
int[] a2 = new int[5];//动态初始化默认为0
Arrays.fill(a2,10); //通过他就可以更改默认值
System.out.println(Arrays.toString(a2));
int [] a3= new int[5];
System.arraycopy(a2,0,a3,0,2);//从数组a2中拷贝了从0两个长度的数到a3
System.out.println(Arrays.toString(a3));
}//[10, 10, 0, 0, 0]