一、java.util.Arrays是什么

1、这个包在哪里?

在java.util.Arrrays里面

2、理解什么是API

API是什么?应用程序编程接口,我们这里用到的是帮助文档所以在这方面我们一般俗称,帮助文档
在这里插入图片描述
打卡之后
在这里插入图片描述
还有1.6的,目前1.6的是中文适配最全面的版本
在这里插入图片描述
在这里插入图片描述
这里就会有对应的解释
目前1.6是公认翻译最好的一个版本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

随便看一个
在这里插入图片描述
在这里插入图片描述
【注意】之前我们讲算法的时候(博客园)二分查找是条件的,必须是有序的,所以在使用二分查找的时候必须先排序

代码如下:

package com.atguigu.test06_Arrays;

import java.util.Arrays;

public class TestArrays {
	public static void main(String[] args) {
		//使用二分查找搜索指定int型数组,以获得指定的值
		int[]arr={1,3,5,7,10};
		System.out.println(Arrays.binarySearch(arr,7 ));
		//如果是无序的,就不一定准了,甚至返回负数(没有找到),试试
		//如果key值存在则返回下标,不存在则返回负数
		
		int[]arr1={1,10,6,2,3};
		System.out.println(Arrays.binarySearch(arr1,2 ));
	}
}

执行结果
在这里插入图片描述

再看下一个

在这里插入图片描述
在这里插入图片描述
效果如下,自动补0
在这里插入图片描述

再看下一个,复制范围
在这里插入图片描述
在这里插入图片描述

如果左边超了就数组越界

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
套路都差不多的
我们再看看fill填充

先看看错误写法,自己分析一下,知不知道哪里错了
在这里插入图片描述
正确写法:
在这里插入图片描述
下面再说一个最常用的 sort 升序排序
在这里插入图片描述
所以以后我们都不用自己写算法了,直接使用sort就行了

再看
在这里插入图片描述
以后你输出就不用for循环了,非常方便
代码如下

package com.atguigu.test06_Arrays;

import java.util.Arrays;

public class TestArrays {
	public static void main(String[] args) {
		//(1)使用二分查找搜索指定int型数组,以获得指定的值
		int[]arr={1,3,5,7,10};
		//System.out.println(Arrays.binarySearch(arr,7 ));
		//如果是无序的,就不一定准了,甚至返回负数(没有找到),试试
		//如果key值存在则返回下标,不存在则返回负数
		
		int[]arr1={1,10,6,2,3};
		//System.out.println(Arrays.binarySearch(arr1,2 ));
		
		//(2)public static int[] copyOf(int[] original,int newLength)
		//解释:从original原数组中复制一个新数组,新数组的长度为newLength
/*		int[] newArrays= Arrays.copyOf(arr, 10);
		for (int i = 0; i < newArrays.length; i++) {
			System.out.print(newArrays[i]);
		}*/
		//(3)public static int[] copyOfRange(int[] original,int from,int to)
/*		int []newArrys=Arrays.copyOfRange(arr, 0, 9);	//从0开始,复制几个
		for (int i = 0; i < newArrys.length; i++) {
			System.out.print(newArrys[i]+" ");
		}*/
		
		//(4)比较两个数组长度和内容是否一致 equals
		//(5)public static void fill(int[] a,int val)
		//将指定的 int 值分配给指定 int 型数组的每个元素。 参数:a - 要填充的数组,val - 要存储在数组所有元素中的值
		//int[]newArrays=Arrays.copyOf(arr, 10);
		
/*		int[]arr4={1,3,5,7,10};
		Arrays.fill(arr4, 5);
		for (int i = 0; i < arr4.length; i++) {
			System.out.print(arr4[i]+" ");
		}*/
		
		//最常用的 sort
		//(6)public static void sort(int[] a)//将数组a按照升序排序
		int [] arr6={1,4,2,2,8,5};
		Arrays.sort(arr6);
/*		for (int i = 0; i < arr6.length; i++) {
			System.out.print(arr6[i]+" ");
		}*/
		//(7)最常用的tostring
		//public static String toString(int[] a)
		//把a数组的元素,遍历,拼接为一个字符串返回,效果[1,3,5]
		//以后再也不用用循环遍历了
		System.out.print(Arrays.toString(arr6));
	}
}
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐