import java.util.Arrays;
int [ ] array1={ 7,8,3,2,12,6,5,4 };
1. //克隆
int[] array2=array1.clone (;
system.out.println(arry2克隆的结果为: ) arrays.tostring (array2);
2. //复印关闭
方法1 :
int [ ] array3=arrays.copy of (array 1,4 ); //'4'表示复印长度
system.out.println(Arry3副本copyof的结果: ) arrays.tostring (array3); //输出: [ 7,8,2,12 ]
方法2 ) system.arraycopy(src、srcPos、dest、destPos、length );
src --这是源数组。
srcPos --这是源数组中的开始位置。
dest --这是目标数组。
destPos --这是目标数据的开始位置。
length --这是要复制的数组元素数。
异常:
IndexOutOfBoundsException --复制后,可能会访问数组边界以外的数据
ArrayStoreException --如果由于类型不匹配而无法将src数组的元素存储在dest数组中
nullpointerexception--如果src或dest为null
示例:
intarr1[ ]={ 0,1,2,3,4,5 };
intarr2[ ]={ 11,10,20,30,40,50 };
//从数组arr1的第0个位置复制3个,复制到arr2,从b的第1个位置存储
system.arraycopy (arr 1,0,arr 2,1,3 );
system.out.println (arrays.tostring ) arr2); //输出: [ 11,0,1,2,40,50 ]
3 .判断两个数组是否相等:
String[] a={'a '、' b '、' c'};
String[] b={'a '、' b '、' c'};
系统. out.println (a.equals (b ) ); //false
system.out.println(a==b ); //false
系统. out.println (arrays.equals (a,b ) );//真
注意:
基本数据类型数组的equals方法没有重载Object的equals方法,因此与==效果相同。 因此,其中a.equals(b )效果与a==b相同,==比较的是内存地址,结果为false。
如果想比较相同的内容,请使用Arrays.equals(a,b )。
4. //对数组中的第二个到第七个进行排序
arrays.sort (array 1,2,8 );
System.out.print ('对数组中第二个到第六个元素进行排序: arrays.sort (array 1、2、7 ) ) )
system.out.println (arrays.tostring ) Array1);
对整个5//arry1进行排序的sort
Arrays.sort(Array1;
//toString被转换为字符串
System.out.println ('排序后arry1的值:'arrays.tostring(array1);
6. //排序后,arry1和arry2是否还等于equals
System.out.println ('排序后,arry1和arry2是否仍然相等?' Arrays.equals(Array1,array2) );
填充7//fill
Array.fill(Arrayname,value );
Array.fill(Arrayname,starting index,ending index,value )。
示例:
arrays.fill (array 3,6 ); //在数组array3中填充数字6,并输出。 { 6,6,6,6,6,6,6,6,6 }
arrays.fill (array 3、2、4、9 ); //将数组9从索引值2填充到索引值4
System.out.println (填充后的arry2的值:(Arrays.tostring ) arry2 ); //输出: { 7、8、6、6、12、6、5、4 }
联系8//binary搜索
System.out.println (数字6在arry1上的位置: ) arrays.binary search (array 1,6 );
9. //将数组array1转换为列表
String[] name=new String[]{'a '、' b '、' c'};
//转换为集合
列表列表=arrays.as list (name );
system.out.println (列表;
10 .删除数组:
ArrayList a=new ArrayList (;
for(intI=0; i10; I ) {
a .添加(I );
}
a .移除(1);
系统. out.println (a; //输出: [ 0,2,3,4,5,6,7,8,9 ]
11 .搜索数组:
第一种方法:(该方法需要使用动态数组ArrayList ) )。
ArrayList a=new ArrayList (;
for(intI=0; i10; I ) {
a .添加(I );
}
a .移除(0;
系统. out.println (a; //输出: [ 1,2,3,4,5,6,7,8,9 ]
系统. out.println (a.contains (1) ); boolea值输出:返回true
第二种方法:
int [ ] aa={ 1,2,3 };
System.out.println (数组aa中'数字2的位置:'arrays.binarysearch(aa,2 ); //返回索引值输出: 1
注: Java的Arrays的asList ()方法可以将数组转换为List。 但是,此数组类型必须是引用类型。 8种基本数据类型是不行的。