1、Arrays类有什么功能
java.util.Arrays中的类包含了很多静态方法,用于排序数组、搜索数组、比较数组和填充数组元素等功能。
了解一维数组看这里:java中的数组是什么
常见方法如下:
- public static int binarySearch(Object[] a, Object key)
使用二分法搜索数组中指定值的位置(下标)。如果数组类型非基本数据类型,则需要类实现Comparable接口中的compareTo方法。
- public static boolean equals(long[] a, long[] a2)
比较两个数组是否相等。如果两个指定数组相等返回true。默认两个数组相等的判定方法:
- 两个数组包含相同的元素数目,并在两个数组所有元素对应相等。
- 同样的方法可以用于所有其它所有的数据类型(byte, short, int等等)
- public static void fill(int[] a, int val)
将数组种所有元素都填充为指定的int值。同样的方法可以用于所有其它的原始数据类型(byte, short, int等等)。
还有一个指定填充位置的方法:public static void fill(byte[] a, int fromIndex, int toIndex, byte val),可以指定某些元素进行填充。
4.public static String toString(Object[] a)
将每个元素的值按顺序拼装为一个String类型的字符串,同样的方法可以用于所有其它的数据类型(byte, short, int等等)
- public static void sort(Object[] a)
根据其元素的自然顺序,按升序排序指定的数组,同样的方法可以用于所有其它的数据类型(byte, short, int等等)
2、Arrays如何使用
下面通过实例展示:binarySearch、copyOf、copyOfRange、equals、fill、sort、toString等方法。如下:
import java.util.Arrays;
public class TestArrays {
public static void main(String[] args) {
int[] a = {3, 4, 5, 6};
int[] b = {3, 4, 5, 6};
System.out.println("a和b是否相等:" + Arrays.equals(a, b));//true
System.out.println("5在a中的位置:" + Arrays.binarySearch(a, 5));//2
int[] c = Arrays.copyOf(a, 6);
System.out.println("a和c是否相等:" + Arrays.equals(a, c));//false
System.out.println("c的元素:" + Arrays.toString(c));//3,4,5,6,0,0
Arrays.fill(c, 2, 4, 1);//将c中第3个到第5个元素(不包含)赋值为1
System.out.println("c的元素:" + Arrays.toString(c));//3,4,1,1,0,0
Arrays.sort(c);
System.out.println("c的元素:" + Arrays.toString(c));//0,0,1,1,3,4
}
}
执行结果如下:
a和b是否相等:true
5在a中的位置:2
a和c是否相等:false
c的元素:[3, 4, 5, 6, 0, 0]
c的元素:[3, 4, 1, 1, 0, 0]
c的元素:[0, 0, 1, 1, 3, 4]
时间: 2024-11-09 02:56:47