一、Arrays.asList( )
1.作用
将数组转换为List
2.参数
asList(T... a)
参数a:传入的数组(动态参数)
3.返回值
返回一个List对象,该返回值属于Arrays内部的ArrayList对象
4.举例
import java.util.Arrays;
import java.util.List;
public class demo01 {
public static void main(String[] args) {
String[] arr= {"a","b","c"};
//将数组转换为List
List<String> list=Arrays.asList(arr);
System.out.println(list);//[a, b, c]
}
}
二、Arrays.binarySearch( )
1.作用
二分查找,前提必须是有序的
2.参数
binarySearch(Object[] a,Object key)
参数a:要搜索的数组;
参数key:要搜索的值;
binarySearch(Object[] a,int fromindex,int toindex,Object key)
参数a:要搜索的数组;
参数fromindex:指定范围的开始处索引(包括)
参数fromindex:指定范围的结束处索引(不包括)
参数key:要搜索的值;
3.返回值
返回一个int类型的数值。要搜索的值如果存在,则返回其对应的下标,不存在则返回-1或-插入点
4.举例
import java.util.Arrays;
public class demo01 {
public static void main(String[] args) {
int[] arr= {5,80,665,892};
//二分查找
int a=Arrays.binarySearch(arr, 80);//元素存在
System.out.println(a);//下标为:1
int b=Arrays.binarySearch(arr, 8);//元素不存在
System.out.println(b);//下标为:-2
}
}
三、Arrays.copyOf( )
1.作用
复制数组至指定长度
2.参数
参数1:要进行复制的数组
参数2:复制后的新数组的长度。如果新数组长度大于原数组长度,则整型整型数组用0来填充、char型数组用null来填充;如果新数组长度小于原数组长度,则从原数组的第一个元素开始截取直至满足新数组长度。
3.返回值
返回值也是一个数组,其类型与原数组类型一致。
4.举例
import java.util.Arrays;
public class text {
public static void main(String[] args) {
int[] arr= {5,80,665,0,32};
//新数组长度等于原数组长度
int[] newarr1=Arrays.copyOf(arr, 5);
System.out.println(Arrays.toString(newarr1));//[5, 80, 665, 0, 32]
//新数组长度大于原数组长度
int[] newarr2=Arrays.copyOf(arr, 7);
System.out.println(Arrays.toString(newarr2));//[5, 80, 665, 0, 32, 0, 0]
//新数组长度小于原数组长度
int[] newarr3=Arrays.copyOf(arr, 2);
System.out.println(Arrays.toString(newarr3));//[5, 80]
}
}
四、Arrays.copyOfRange( )
1.作用
将指定数组的指定长度复制到一个新的数组。
2.参数
参数1:要进行复制的数组;
参数2:指定开始复制数组的下标位置,必须在0到数组长度之间;
参数3:要复制范围的最后下标位置,可大于复制数组的长度。
3.返回值
返回值也是一个数组,其类型与原数组类型一致。
4.举例
import java.util.Arrays;
public class demo01 {
public static void main(String[] args) {
//定义数组
int[] arr= {5,80,665,0,32};
//复制数组
int[] newarr=Arrays.copyOfRange(arr, 0, 3);
System.out.println(Arrays.toString(newarr));//[5, 80, 665]
}
}
五、Arrays.fill( )
1.作用
填充替换数组
2.参数
观察上方截图可得知:对Arrays.fill( )该方法进行多次重载,使用场景不同,传入的参数不同。
以int类型为例:
fill(int[] a,int value)
参数a:要进行元素替换的数组
参数value:要存储数组中所有元素的值
fill(int[] a,int fromindex,int toindex,int value)
参数a:要进行填充的数组
参数fromindex:要使用指定值填充的第一个元素的下标(包括)
参数fromindex:要使用指定值填充的最后一个元素的下标(不包括)
参数value:要分配给数组指定范围中的每个元素的值
3.返回值
以上返回值都为任意类型void
4.举例
import java.util.Arrays;//导入java.util.Arrays类
public class text{
public static void main(String[] args){
//创建int型数组
int[] arr=new int[5];
//使用同一元素对数组进行填充
Arrays.fill(arr,8);//填充后:8,8,8,8,8
}
}
六、Arrays.sort( )
1.作用
对数组进行排序
2.参数
传入的参数可以单独为数组、数组和比较器、数组和两个int类型的参数
例:sort(Object[] a)
参数a:进行排序的数组名称;
sort(T[] a,Comparator<?super T> c)
参数a:进行排序的数组;
参数c:比较器名称,可自己定义;
sort(int[] a,int fromindex,int toindex)
参数a:要进行排序的数组;
参数fromindex:要开始排序的第一个元素的下标;
参数fromindex:要开始排序的最后一个元素的下标;
3.返回值
以上返回值都为任意类型void
4.举例
import java.util.Arrays;//导入java.util.Arrays类
public class text{
public static void main(String[] args){
int arr[]={23,5,8,96,10};
//对数组进行排序
Arrays.sort(arr);//排序后:5,8,10,25,96
}
}
七、Arrays.toString( )
1.作用
打印数组的具体内容
2.参数
传入的参数都是数组
3.返回值
返回值为String类型
4.举例
import java.util.Arrays;//导入java.util.Arrays类
public class text{
public static void main(String[] args){
//int型数组
int[] arr={5,6,8,9,10};
//打印数组的具体内容
System.out.println(Arrays.toString(arr));//[5,6,8,9,10]
}
}