rrays的常用方法那肯定是在Arrays类内了,所以导包:java.util.Arrays;
方法作用:快速输出数组内容
- int[] a = {1,2,3,4,5};
- System.out.println(Arrays.toString(a));
- // 输出格式:[1,2,3,4,5]
方法作用:比较两个数组内容是否相等
- int[] a = {1,2,3};
- int[] b = {1,2,3};
- boolean isSame = Arrays.equals(a,b);
- //true
注意:Arrays.equals()是比较数组内容,而a.equals(b) 这样的方法是比较非数组内容
注意:以后使用java提供的引用数据内容(数组、字符串、各种集合....)时,一定要用equals()方法比较内容是否相等,而不是傻傻的用 ==了!因为官方已经把equals()给重写了。如果你要比较你自己写的类,例如学生按成绩排序,就要自己重写equals()方法
方法作用:在数组中查找元素
int Arrays.binarySearch( Datatype[], Datatype key)
再数组中查找指定值,若找到,则返回此值的下标,
若没找到,返回 插入点+1;;
如:
- int[] a = {1,5,6,7};
- Arrays.binarySearch(a,2) //没找到,插入点为1,则返回 -2
- Arrays.binarySearch(a,4) //没找到,插入点为1,则返回 -2
- Arrays,binarySearch(a,8) //没找到,插入点为4,则返回 -5
- Arrays.binarySearch(a,5) //找到了!返回下标 1
- 只要返回值 ≥ 0 ,就代表找到了。
方法作用:拷贝数组
源码如下:第一个参数是原数组,第二个参数是拷贝长度,返回值是将原数组拷贝一份返回
(它的底层其实是调用了System.arrayCopy()方法)
- public static
T[] copyOf(T[] original, int newLength) { - return (T[]) copyOf(original, newLength, original.getClass());
- }
需要注意的是返回值是一个新数组,会改变接收这个新数组的引用的一些属性
- public static void main(String[] args) {
- int[] arr1 = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
- int[] arr2 = new int[5];
- arr2 = Arrays.copyOf(arr1, 10);
- }
- // from 表示开始位置, to 表示结束位置
- // 复制下标为 :[from, to)
- Arrays.copyOfRange(int[] original, int from, int to)
- array = new int[5];
- Arrays.fill(array, 2);
- out.println(Arrays.toString(array)); //[2, 2, 2, 2, 2]
-
- array = new int[5];
- Arrays.fill(array, 1, 4, 2); //部分填充
- out.println(Arrays.toString(array));//[0, 2, 2, 2, 0]
- int array = new int[]{3, 10, 4, 0, 2};
- out.println(Arrays.asList(array).contains(3)); //false
-
- Integer arr[] = new Integer[]{3, 10, 4, 0, 2};
- out.println(Arrays.asList(arr).contains(3)); //true
- int array = new int[]{3, 10, 4, 0, 2};
- List<int[]> ints = Arrays.asList(array);
- Integer arr[] = new Integer[]{3, 10, 4, 0, 2};
- List<Integer> integers = Arrays.asList(arr);
Array.sort();待续