00011.6数组工具类:java.util.Arrays(了解API)
一、java.util.Arrays是什么1、这个包在哪里?在java.util.Arrrays里面2、理解什么是APIAPI是什么?应用程序编程接口,我们这里用到的是帮助文档所以在这方面我们一般俗称,帮助文档打卡之后还有1.6的,目前1.6的是中文适配最全面的版本这里就会有对应的解释目前1.6是公认翻译最好的一个版本随便看一个【注意】之前我们讲算法的时候(博客园)二分查找是条件的,必须是有序的,
·
一、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));
}
}
更多推荐
所有评论(0)