该类包含用于操作数组的各种方法(例如排序和搜索)。 此类还包含一个静态工厂,允许将数组视为列表。
1. binarySearch(int[] a, int key)
public class Test01 {
public static void main(String[] args) {
int[] arr = {8,1,2,3,4,5,6,7,};
int x1 = Arrays.binarySearch(arr,3);
System.out.println(x1);
}
}
结果为:3
2. binarySearch(int[] a, int fromIndex,int toIndex,int key)
如果要搜索的元素key在指定的范围内,则返回搜索键的索引;否则返回-1或者”-“(插入点)。
1.该搜索键在范围内,但不在数组中,由1开始计数;
2.该搜索键在范围内,且在数组中,由0开始计数;
3.该搜索键不在范围内,且小于范围内元素,由1开始计数;
4.该搜索键不在范围内,且大于范围内元素,返回-(endIndex + 1);(特列)
public class Test01 {
public static void main(String[] args) {
int[] arr = {1,2,4,6,7,8};
int x1 = Arrays.binarySearch(arr,1,5,5);
int x2 = Arrays.binarySearch(arr,1,5,6);
int x3 = Arrays.binarySearch(arr,1,5,9);
int x4 = Arrays.binarySearch(arr,1,3,10);
System.out.println(x1);
System.out.println(x2);
System.out.println(x3);
System.out.println(x4);
}
}
结果为:-4 3 -6 -4
3. compare(int[] a, int[] b)
public class Test01 {
public static void main(String[] args) {
int[] arr1 = {1,2,4,6,7,8};
int[] arr2 = {8,2,4,6,7,9,5};
int[] arr3 = {1,2,4,6,7,8};
int[] arr4 = {};
int[] arr5 = null;
System.out.println( Arrays.compare(arr1,arr2));
System.out.println( Arrays.compare(arr1,arr3));
System.out.println( Arrays.compare(arr1,arr3));
System.out.println( Arrays.compare(arr1,arr5));
System.out.println( Arrays.compare(arr4,arr5));
}
}
结果为:-1 0 0 1 1
4. copyOf(int[] original, int newLength)
数组动态扩容:
public class Test01 {
public static void main(String[] args) {
int[] arr = {1,2,4,6,7,8};
System.out.println( arr.length);
arr = Arrays.copyOf(arr,8);
System.out.println(arr.length);
}
}
结果为:6 8
5. copyOfRange(int[] original, int from , int to)
public class Test01 {
public static void main(String[] args) {
int[] arr = {1,2,4,6,7,8};
System.out.println(Arrays.toString(arr));
int[] arr2 = Arrays.copyOfRange(arr,1,3);
System.out.println(Arrays.toString(arr2));
}
}
结果为:[1, 2, 4, 6, 7, 8] [2, 4]
6. equals(int[] a, int[] b)
public class Test01 {
public static void main(String[] args) {
int[] arr1 = {1,2,4,6,7,8};
int[] arr2 = {4,6,7};
System.out.println(Arrays.equals(arr1,arr2));
System.out.println(Arrays.equals(arr1,2,4,arr2,0,2));
}
}
结果为:false true
7. sort(int[] a)
public class Test01 {
public static void main(String[] args) {
int[] arr = {8,5,4,6,7,21,25};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
结果为:[4, 5, 6, 7, 8, 21, 25]
8. toString(int[] a)
返回指定数组内容的字符串表示形式。
public class Test01 {
public static void main(String[] args) {
int[] arr = {8,5,4,6,7,21,25};
System.out.println(arr);
System.out.println(Arrays.toString(arr));
}
}
结果为:[I@49e4cb85 [8, 5, 4, 6, 7, 21, 25]