JAVA基础学习笔记 day006_03数组相关方法

import java.util.Arrays;

import com.sun.xml.internal.bind.v2.runtime.unmarshaller.XsiNilLoader.Array;

public class Array_method {

	public static void main(String[] args) {
		int[] arr_test = {5,9,0,17,8,37,97};
		int[] arr1 = new int[10];
		
		//数组的复制(1)
		System.arraycopy(arr_test, 1, arr1, 2, 4);
		/*
		 * 参数1:制定目标数组
		 * 参数2:目标数组从 参数2 下标位置开始复制
		 * 参数3:接收数组
		 * 参数4:接收数组从 参数4 下标位置开始接收
		 * 参数5:目标数组中要复制元素的个数
		 */
	
		System.arraycopy(arr_test, 0, arr1, 0, arr_test.length);
		for(int i = 0;i < arr1.length;i++){
			System.out.println(arr1[i] + "");
		}
		
		//将数组转换成字符串
		String s = Arrays.toString(arr_test);
		System.out.println(s);
		System.out.println(arr_test);
		
		//复制数组到一个新数组的方法(2)
		/*
		 * java中的数组,一经定义,元素个数就已经确定,不可更改
		 * 但是我们可以通过复制数组的方式,进行扩容
		 */
		//可以使用此方法给原数组扩容
		int[] arr_src = {40,60,10,5,100};
		int[] arr_copy = Arrays.copyOf(arr_src, arr_src.length+2);
		System.out.println(Arrays.toString(arr_src));
		System.out.println(Arrays.toString(arr_copy));
		
		//数组的排序
		//原数组的基础上排序的,会改变原数组内部的状态
		Arrays.sort(arr_test);
		for(int i = 0;i < arr_test.length;i++){
			System.out.println(arr_test[i] + " ");
		}
		System.out.println(Arrays.toString(arr_test));
		
		//判断数组是否相等
		//相等条件:同一个下标位置上的元素的值要相等
		boolean a = Arrays.equals(arr_test, arr1);
		System.out.println(a);
		int[] arr2 = {10,50,40,30};
		int[] arr3 = {10,50,30,40};
		boolean a1 = Arrays.equals(arr2, arr3);
		System.out.println(a1);
		
		//给数组设定一个默认值,来替换整个数组
		//这也是一个原数组上进行的方法
		int[] emp = new int[10];
		System.out.println(Arrays.toString(emp));
		Arrays.fill(emp, 50);
		System.out.println(Arrays.toString(emp));
		
		//判断给定的值是否在数组中
		/*
		 * (如有重复(2次重复),只返回第一个位置的下标,
		 * 如果3次及其以上的重复,只返回不确定的一个正数,
		 * 如果传入的只在数组中不存在,则返回一个负数
		 */
		//在使用binarySearch()方法之前,一定要先将数组排序
		int[] find_index = {3,0,3,4,3,3,4,4,3};
		Arrays.sort(find_index);
		System.out.println(Arrays.toString(find_index));
		int index_of_20 = Arrays.binarySearch(find_index, 4);
		System.out.println(index_of_20);
		
		//Math.random()方法表示0~1含0不含1的随机数
		System.out.println((int)Math.random()*100);

	}
	
}

 

你可能感兴趣的:(课程学习)