【Java系列】Arrays类的常用方法
Posted On 2020年5月21日
Arrays 为 java.util.Arrays 包中的一个类。该类所有的方法都为静态方法,即不需要构造一个对象即可直接使用。该类的用途包括:生成一个List
生成List对象
public static List asList(T… a)
import java.util.Arrays;
import java.util.List;
public class Test {
public static void main(String []args) {
List<Integer> list = Arrays.asList(1,2,3,4,5,6,7,8,9,10);
System.out.println(list); //[1,2,3,4,5,6,7,8,9,10]
}
}
将数组转换为字符串
public static String toString(Object[] a)
import java.util.Arrays;
public class Test {
public static void main(String []args) {
int[] array = new int[]{1,2,3};
String arrStr = Arrays.toString(array);
System.out.print(arrStr); //[1, 2, 3]
}
}
给数组赋值
public static void fill(Object[] a, Object val)
给数组全体元素赋一个相同的值。该方法直接影响原数组。
import java.util.Arrays;
public class Test {
public static void main(String []args) {
int[] array = new int[3];
Arrays.fill(array,2);
System.out.print(Arrays.toString(array)); //[2, 2, 2]
}
}
public static void fill(Object[] a, int fromIndex, int toIndex, Object val)
给指定的数组元素赋一个相同的值。赋值区间为[fromIndex, toIndex)。
import java.util.Arrays;
public class Test {
public static void main(String []args) {
int[] array = new int[5];
Arrays.fill(array,2,4,34);
System.out.print(Arrays.toString(array)); //[0, 0, 34, 34, 0]
}
}
对数组排序
public static void sort(Object[] a)
给指定的数组进行排序。
import java.util.Arrays;
public class Test {
public static void main(String []args) {
int[] array = new int[]{5,3,7,1,2};
Arrays.sort(array);
System.out.print(Arrays.toString(array));
}
}
public static void sort(Object[] a, int fromIndex, int toIndex)
在一个区间内给指定的数组进行排序。排序区间为[fromIndex, toIndex)。
import java.util.Arrays;
public class Test {
public static void main(String []args) {
int[] array = new int[]{5,3,7,1,2};
Arrays.sort(array, 2,4);
System.out.print(Arrays.toString(array));
}
}
比较数组
public static boolean equals(Object[] a, Object[] a2)
比较两个数组中的所有元素的值是否完全相同。
import java.util.Arrays;
public class Test {
public static void main(String []args) {
int[] array0 = new int[]{5,3,7,1,2};
int[] array1 = new int[]{5,3,7,1,2};
int[] array2 = new int[]{1,2,3,4,5};
System.out.println(Arrays.equals(array0,array1)); //true
System.out.println(Arrays.equals(array0,array2)); //false
}
}
查找数组元素
public static int binarySearch(Object[] a, Object key)
使用二分发查找数组元素。前提:该数组需要事先排序。结果为该元素的引索,如果该元素不存在则返回负数。
import java.util.Arrays;
public class Test {
public static void main(String []args) {
int[] array0 = new int[]{5,3,7,1,2};
Arrays.sort(array0);
System.out.println(Arrays.binarySearch(array0,3)); //2
System.out.println(Arrays.binarySearch(array0,4)); //-4
}
}