Arrays类的常用方法
1,void sort(array) //排序
对数组array的元素进行升序排列
//Arrays.sort(dataB );
//数组排序
Arrays.sort(dataB );
for(int a:dataB)
System.out.print(a+" ");
2,boolean equals(array1,array2) //判相等
比较两个数组是否相等,
Arrays.equals(data1,data2) 相等返回true,不相等返回false
//比较两个数组是否相等
//boolean equals(array1,array2)
//Arrays.equals(data1,data2) 相等返回true,不相等返回false
int[] data1 = new int[] {1,2,3,4,5};
int[] data2 = new int[] {1,2,3,4,5};
int[] data3 = new int[] {1,2,3,4,6};
System.out.println(Arrays.equals(data1,data2));
System.out.println(Arrays.equals(data1,data3));
3.String toString(array)//变成字符串
把数组array转换成一个字符串
//String toString(array):把数组array转换成一个字符串。
int[] data5 = new int[] {1,2,3,4,5};
System.out.println(Arrays.toString(data5));
4、void fill(array,val) 把数组array所有元素都赋值为val。
//void fill(array,val):把数组array所有元素都赋值为val。
int[] data6 = new int[] {1,2,3,4,5};
Arrays.fill(data6,6);
System.out.println(Arrays.toString(data6));
输出为【6,6,6,6,6】。
5、int binarySearch(array,val)查询元素值val在数组array中的下标
//int binarySearch(array,val):
// 查询元素值val在数组array中的下标
int[] data7 = new int[] {1,2,3,4,5};
System.out.println(Arrays.binarySearch(data7,3));
6、copyof(array,length)把数组array复制成一个长度为length的新数组。
//copyof(array,length):把一个原有的数组内容复制到一个新数组中
int[] data8={1,2,3};
//将data8的内容复制到数组b中
int[] b=Arrays.copyOf(data, data8.length);
System.out.println(Arrays.toString(b));
b[2]=100;
//b与data8指向不同的堆空间
System.out.println("改变b[2]的值后原数组的值"+Arrays.toString(data8));
//引用,c与data8指向相同的堆空间
int[] c=data8;
c[2]=100;
System.out.println("改变c[2]的值后原数组的值"+Arrays.toString(data8));
7.System.arraycopy //部分复制
System.arraycopy(源数组名称,源数组复制开始索引,被改变数组名称, 被改变数组复制开始索引 ,长度);
将源数组从复制开始索引处复制长度为n的数据到被改变数组中,从被改变数组复制开始索引开始
//数组复制
// System.arraycopy(data,4,dataB,2,3);
// System.arraycopy(源数组名称,源数组复制开始索引,被改变数组名称,
// 被改变数组复制开始索引 ,长度);
//将源数组从复制开始索引处复制长度为n的数据到被改变数组中,从被改变数组复制开始索引开始
System.arraycopy(data,4,dataB,2,3);
for(int a:dataB)
System.out.print(a+" ");
System.out.println();
package Chapter03;
import java.util.Arrays;
public class ArraysTest {
public static void main(String[] args) {
int[] data =new int[] {4,5,9,6,3,8,7,1,2};
int[] dataB = new int[] {11,55,22,44,77,88,99,33,66};
//数组复制
// System.arraycopy(data,4,dataB,2,3);
// System.arraycopy(源数组名称,源数组复制开始索引,被改变数组名称,
// 被改变数组复制开始索引 ,长度);
//将源数组从复制开始索引处复制长度为n的数据到被改变数组中,从被改变数组复制开始索引开始
System.arraycopy(data,4,dataB,2,3);
for(int a:dataB)
System.out.print(a+" ");
System.out.println();
//Arrays.sort(dataB );
//数组排序
Arrays.sort(dataB );
for(int a:dataB)
System.out.print(a+" ");
System.out.println();
//比较两个数组是否相等
//boolean equals(array1,array2)
//Arrays.equals(data1,data2) 相等返回true,不相等返回false
int[] data1 = new int[] {1,2,3,4,5};
int[] data2 = new int[] {1,2,3,4,5};
int[] data3 = new int[] {1,2,3,4,6};
System.out.println(Arrays.equals(data1,data2));
System.out.println(Arrays.equals(data1,data3));
//String toString(array):
// 把数组array转换成一个字符串。
int[] data5 = new int[] {1,2,3,4,5};
System.out.println(Arrays.toString(data5));
//void fill(array,val):
// 把数组array所有元素都赋值为val。
int[] data6 = new int[] {1,2,3,4,5};
Arrays.fill(data6,6);
System.out.println(Arrays.toString(data6));
//int binarySearch(array,val):
// 查询元素值val在数组array中的下标
int[] data7 = new int[] {1,2,3,4,5};
System.out.println(Arrays.binarySearch(data7,3));
//copyof(array,length):把一个原有的数组内容复制到一个新数组中
int[] data8={1,2,3};
//将data8的内容复制到数组b中
int[] b=Arrays.copyOf(data, data8.length);
System.out.println(Arrays.toString(b));
b[2]=100;
//b与data8指向不同的堆空间
System.out.println("改变b[2]的值后原数组的值"+Arrays.toString(data8));
//引用,c与data8指向相同的堆空间
int[] c=data8;
c[2]=100;
System.out.println("改变c[2]的值后原数组的值"+Arrays.toString(data8));
}
}