1.填充数组 将指定的元素放在指定的数组中
fill( int[] a, int val)
以int型数组为例,fill( int[] a, int val) 表示val将填充a数组的每一个元素
public static void main(String[] args) {
int[] a = new int[10];
Arrays.fill(a,15);
for(int i=0;i<a.length;i++){
System.out.print(a[i]);
}
}
结果:
15 15 15 15 15 15 15 15 15 15
fill(int[] a,int fromIndex,int toIndex,int val) 将val插入到a数组的指定范围内
2.复制数组
a.使用System.arrayCopy() 函数
public static void main(String[] args) {
int[] i = new int[7];
int[] j= new int[10];
Arrays.fill(i, 47);
Arrays.fill(j,49);
System.out.println("i="+Arrays.toString(i));
System.out.println("j="+Arrays.toString(j));
System.arraycopy(i, 0, j, 0, i.length);
System.out.println("j="+Arrays.toString(j));
//引用类型
Integer[] u= new Integer[10];
Integer[] v= new Integer[5];
//添加值
Arrays.fill(u, new Integer(47));
Arrays.fill(v, new Integer(49));
System.out.println("u="+Arrays.toString(u));
System.out.println("v="+Arrays.toString(v));
System.arraycopy(v, 0, u, u.length/2, v.length);
System.out.println("u="+Arrays.toString(u));
System.out.println("v="+Arrays.toString(v));
System.out.println("u="+Arrays.toString(u));
}
注意:如果复制的是对象数组,那么只是对象的引用,而不是对象本身的拷贝
3.数组比较
使用Arrays.equals(a,b)
public static void main(String[] args) {
int[] i = new int[7];
int[] j= new int[7];
Arrays.fill(i, 47);
Arrays.fill(j,47);
System.out.println(Arrays.equals(i, j));
i[2]=49;
System.out.println(Arrays.equals(i, j));
String[] strs1= new String[4];
Arrays.fill(strs1, "Hi");
String[] strs2= new String[]{new String("Hi"),new String("Hi"),
new String("Hi"),new String("Hi")};
System.out.println(Arrays.equals(strs1, strs2));
User[] u1= new User[]{new User("a"),new User("b")};
User[] u2= new User[]{new User("a"),new User("b")};
System.out.println(Arrays.equals(u1, u2));
}
注意: 对于引用类型,不但要数组的大小相同,并且每个元素也要相同,数组的大小相同的情况下,数组每个元素使用equals比较。
4.数组排序
sort 函数
public static void main(String[] args) {
int[] a = new int[]{12,23,1,3,7,2};
Arrays.sort(a);
System.out.println(Arrays.toString(a));
}
此排序是按照升序排列