import java.util.Random;
/**
* 1)Arrays.fill() —— 只能用同一个值填充各个位置,而只对对象而言,就是复制同一个引用进行填充;
2)Arrays.equals() —— 用于比较两个数组是否相等;
3)Arrays.sort() —— 用于对数组排序;
4)Arrays.binarySearch() —— 用于在已排序数组中利用二分查找法查找元素;
5)Arrays.toString() —— 产生数组的String表示;
6)Arrays.hashCode() —— 产生数组的散列码;
* @author 2萌
*
*/
public class TestArray {
/**
* @param args
*/
public static void main(String[] args) {
int[] array1 = new int[10];
int[] array2 = new int[10];
/**
* Arrays的fill(int[] array, int value)方法
* 实现的效果是将value填充到array数组里面对应的位置
*/
Arrays.fill(array1, 0);
Arrays.fill(array2, 1);
System.out.println("使用过Arrays.fill(array1, 0)后的效果");
for (int i = 0; i < array1.length; i++) {
System.out.print(array1[i] + " ");
}
System.out.println();
System.out.println("-------------------------------");
System.out.println("使用过Arrays.fill(array2, 1)后的效果");
for (int i = 0; i < array2.length; i++) {
System.out.print(array2[i] + " ");
}
/**
* 判断数组是否是相等的--Arrays.equals()
* 此处相等的判断,不仅长度相等而且数组存的值也是相等的
*/
System.out.println();
System.out.println("-------------------------------");
System.out.println("使用Arrays.equals()方法判断两个数组是否相等,如果相等返回true,不等则为false: " + Arrays.equals(array1, array2));
/**
* 使用Random类,生成随机数存入array1[]数组
*/
for (int i = 0; i < array1.length; i++) {
array1[i] = new Random().nextInt()%100;
}
System.out.println();
System.out.println("-------------------------------");
for (int i = 0; i < array1.length; i++) {
System.out.print(array1[i] + " ");
}
System.out.println();
System.out.println("-------------------------");
/**
* System.arraycopy()数组复制
* System类提供了一个静态方法arraycopy(),这个方法的功能是实现数组直接的复制。
* 其原型函数为:public static void arraycopy(Object src, int srcPost, Object dest, int destPost, int length)
* src为源数组,srcPost为源数组开始复制的位置,dest为目标数组,destPost为目标数组开始复制的位置,length为复制的长度
* 其中:src和dest应该为同类型或者可以相互转换类型的数组
* 特殊:数组可以自己复制自己
*
*/
System.arraycopy(array1, 0, array2, 0, array1.length);
System.out.println("array1");
for (int i = 0; i < array1.length; i++) {
System.out.print(array1[i] + " ");
}
System.out.println();
System.out.println("array2");
for (int i = 0; i < array2.length; i++) {
System.out.print(array2[i] + " ");
}
System.out.println();
System.out.println("---------自己复制自己-----------");
//自己复制自己
System.arraycopy(array1, 0, array1, 4, 3);
for (int i = 0; i < array1.length; i++) {
System.out.print(array1[i] + " ");
}
/**
* 数组转换成字符串
* Arrays.toString()
* !!!
*/
System.out.println();
System.out.println("---------数组转换成字符串-----------");
System.out.println("array1="+ Arrays.toString(array1));
/**
* 数组排序Arrays.sort()
*/
System.out.println();
System.out.println("-------数组排序Arrays.sort()------------");
Arrays.sort(array2);
for (int i = 0; i < array2.length; i++) {
System.out.print(array2[i]+" ");
}
System.out.println();
Arrays.sort(array1);
for (int i = 0; i < array1.length; i++) {
System.out.print(array1[i]+" ");
}
/**
* 二分查找Arrays.binarySearch()
* 根据二分查找如果找到返回key值对应的位置,否则则返回一个负数
*/
System.out.println();
System.out.println("-------二分查找Arrays.binarySearch()-----------");
System.out.println(Arrays.binarySearch(array1, 73));
}
}
Arrays类常用方法
最新推荐文章于 2022-09-26 07:59:50 发布