当前位置 博文首页 > hughjin:Java常用工具类:java.util.Arrays
数组操作工具类-java.util.Arrays
java.util.Arrays类能方便的操作数组,测试的时候造数据经常用到一下方法。
1.filll方法 :给数组中的某段元素附上相同值。
int []arr = new int[5];
Arrays.fill(arr, 2);
for (int i : arr) {
? ? System.out.print(i + " ?");
}
结果:2 ?2 ?2 ?2 ?2
数组所有元素赋相同的值
2.sort方法:对数组中某段元素排序。
int []arr = {3,2,1,5,4};
Arrays.sort(arr);
for (int i : arr) {
? ? System.out.print(i + " ?");
}
结果:1 ?2 ?3 ?4 ?5
所有元素按升序排序?
int[] arr = {3, 5, 2, 1, 4};
Arrays.sort(arr, 0, 4);
for (int i : arr) {
System.out.print(i + " ");
}
结果:1 2 3 5 4 ?
sort(int[] a, int fromIndex, int toIndex) fromIndex到toIndex-1排序
3.equals方法:比较两个数组
备注:判断的是数组中元素值是否相等。
与之有区别的是 数组的equals方法
int[] arri = {1,2,3};
int[] arri1 = {1,2,3};
System.out.println(arri.equals(arri1));
System.out.println(Arrays.equals(arri,arri1));
结果:
false
true
4.binarySearch方法:对排过序的数组进行二分法查找。
备注:数组必须是排过序的。查到会返回大于等于0的数字,查不到会返回小于0的数字
int[] arr = {3, 5, 2, 1, 4};
System.out.println(Arrays.binarySearch(arr, 4));
System.out.println(Arrays.binarySearch(arr, 11));
结果:
4
-6
5.asList方法:将数组转换成集合
备注:把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportOperationException异常;
使用基本数据类型数组时需注意,编译器会默认将比如int[],char[]等当做一个类型,认为只传了一个变量,转换成的集合size为1。
int[] arri = {1, 2, 3};
List list = Arrays.asList(arri);
System.out.println(list.size());
Integer[] arrInt = {1, 2, 3};
List integerList = Arrays.asList(arrInt);
System.out.println(integerList.size());
结果:
1
3
integerList.add(new Integer("434"));
结果:Exception in thread "main" java.lang.UnsupportedOperationException
?
cs