Arrays类
数组的工具类java.util.Arrays,是java.util包中的类,在我们的代码中想使用这个类的话,就必须使用import进行导入。
import java.util.Arrays;
Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是"不用" 而不是 "不能")
Arrays类中方法调用
toString()方法
把数组转换为字符串形式并返回
修饰语和类型 | 方法和说明 |
---|---|
static String | toString(boolean[] a) 返回指定数组的内容的字符串表示形式。 |
static String | toString(byte[] a) 返回指定数组的内容的字符串表示形式。 |
static String | toString(char[] a) 返回指定数组的内容的字符串表示形式。 |
static String | toString(double[] a) 返回指定数组的内容的字符串表示形式。 |
static String | toString(float[] a) 返回指定数组的内容的字符串表示形式。 |
static String | toString(int[] a) 返回指定数组的内容的字符串表示形式。 |
static String | toString(long[] a) 返回指定数组的内容的字符串表示形式。 |
static String | toString(Object[] a) 返回指定数组的内容的字符串表示形式。 |
static String | toString(short[] a) 返回指定数组的内容的字符串表示形式。 |
import java.util.Arrays;
public class arrays
{
public static void main(String[] args)
{
int[] arr = {5,1,54,32,6};
String strarr = Arrays.toString(arr);
System.out.println(strarr);
}
}
binarySearch()方法
在数组中使用二分搜索法来搜索指定的数组,以获得指定的值。必须在进行此调用之前对数组进行排序(通过sort方法等)。如果没有对数组进行排序,则结果是不确定的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。
修饰语和类型 | 方法和说明 |
---|---|
static int | binarySearch(byte[] a,byte key) 使用二进制搜索算法搜索指定值的指定字节数组。 |
static int | binarySearch(byte[] a,int fromIndex,int toIndex,byte key) 使用二进制搜索算法搜索指定值的指定字节数组的范围。 |
static int | binarySearch(char[] a,char key) 使用二进制搜索算法搜索指定数组的指定值。 |
static int | binarySearch(char[] a,int fromIndex,int toIndex,char key) 使用二分搜索算法搜索指定值的指定数组的范围。 |
static int | binarySearch(double[] a,double key) 使用二进制搜索算法搜索指定值的指定数组的双精度值。 |
static int | binarySearch(double[] a,int fromIndex,int toIndex,double key) 使用二分搜索算法搜索指定值的指定数组的双精度范围。 |
static int | binarySearch(float[] a,float key) 使用二叉搜索算法搜索指定数组的浮点数。 |
static int | binarySearch(float[] a,int fromIndex,int toIndex,float key) 使用二分搜索算法搜索指定数组的浮点数范围。 |
static int | binarySearch(int[] a,int key) 使用二叉搜索算法搜索指定的int数组的指定值。 |
static int | binarySearch(int[] a,int fromIndex,int toIndex,int key) 使用二叉搜索算法搜索指定值的指定数组的范围。 |
static int | binarySearch(long[] a,int fromIndex,int toIndex,long key) 使用二分搜索算法搜索指定值的指定数组的范围。 |
static int | binarySearch(long[] a,long key) 使用二进制搜索算法搜索指定数组的指定数组。 |
static int | binarySearch(Object[] a,int fromIndex,int toIndex,Object key) 使用二进制搜索算法搜索指定对象的指定数组的范围。 |
static int | binarySearch(Object[] a,Object key) 使用二叉搜索算法搜索指定对象的指定数组。 |
static int | binarySearch(short[] a,int fromIndex,int toIndex,short key) 使用二进制搜索算法搜索指定值的指定数组的短整型范围。 |
static int | binarySearch(short[] a,short key) 使用二进制搜索算法搜索指定值的指定数组的指定值。 |
static | binarySearch(T[] a,int fromIndex,int toIndex,T key,Comparator c) 使用二进制搜索算法搜索指定对象的指定数组的范围。 |
static | binarySearch(T[] a,T key,Comparator c) 使用二叉搜索算法搜索指定对象的指定数组。 |
import java.util.Arrays;
public class arrays
{
public static void main(String[] args)
{
int[] arr = {5,1,54,32,6};
Arrays.sort(arr);
int res = Arrays.binarySearch(arr,1);
System.out.println(res);
}
}
sort()方法
把数据中的元素进行排序
修饰语和类型 | 方法和说明 |
---|---|
static void | sort(byte[] a) 按照数字顺序排列指定的数组。 |
static void | sort(byte[] a,int fromIndex,int toIndex) 按升序排列数组的指定范围。 |
static void | sort(char[] a) 按照数字顺序排列指定的数组。 |
static void | sort(char[] a,int fromIndex,int toIndex) 按升序排列数组的指定范围。 |
static void | sort(double[] a) 按照数字顺序排列指定的数组。 |
static void | sort(double[] a,int fromIndex,int toIndex) 按升序排列数组的指定范围。 |
static void | sort(float[] a) 按照数字顺序排列指定的数组。 |
static void | sort(float[] a,int fromIndex,int toIndex) 按升序排列数组的指定范围。 |
static void | sort(int[] a) 按照数字顺序排列指定的数组。 |
static void | sort(int[] a,int fromIndex,int toIndex) 按升序排列数组的指定范围。 |
static void | sort(long[] a) 按照数字顺序排列指定的数组。 |
static void | sort(long[] a,int fromIndex,int toIndex) 按升序排列数组的指定范围。 |
static void | sort(Object[] a) 对指定对象升序排列的阵列,根据natural ordering的元素。 |
static void | sort(Object[] a,int fromIndex,int toIndex) 对指定对象升序排列的数组的指定范围内,根据natural ordering的元素。 |
static void | sort(short[] a) 按照数字顺序排列指定的数组。 |
static void | sort(short[] a,int fromIndex,int toIndex) 按升序排列数组的指定范围。 |
static | sort(T[] a,Comparator c) 根据指定的比较器引发的顺序对指定的对象数组进行排序。 |
static | sort(T[] a,int fromIndex,int toIndex,Comparator c) 根据指定的比较器引发的顺序对指定的对象数组的指定范围进行排序。 |
对数组按数字升序进行排序
import java.util.Arrays;
public class arrays
{
public static void main(String[] args)
{
int[] arr = {5,1,54,32,6};
Arrays.sort(arr);
String strarr = Arrays.toString(arr);
System.out.println(strarr);
}
}
对数组的指定范围按数字升序进行排序
import java.util.Arrays;
public class arrays
{
public static void main(String[] args)
{
int[] arr = {5,1,54,32,6};
Arrays.sort(arr,0,3);
String strarr = Arrays.toString(arr);
System.out.println(strarr);
}
}
copyOf()方法
复制或者截取指定数组并返回
修饰语和类型 | 方法和说明 |
---|---|
static boolean[] | copyOf(boolean[] original,int newLength) 使用false(如有必要)复制指定的数组,截断或填充,以使副本具有指定的长度。 |
static byte[] | copyOf(byte[] original,int newLength) 复制指定的数组,用零截取或填充(如有必要),以便复制具有指定的长度。 |
static char[] | copyOf(char[] original,int newLength) 复制指定的数组,截断或填充空字符(如有必要),以便复制具有指定的长度。 |
static double[] | copyOf(double[] original,int newLength) 复制指定的数组,用零截取或填充(如有必要),以便复制具有指定的长度。 |
static float[] | copyOf(float[] original,int newLength) 复制指定的数组,用零截取或填充(如有必要),以便复制具有指定的长度。 |
static int[] | copyOf(int[] original,int newLength) 复制指定的数组,用零截取或填充(如有必要),以便复制具有指定的长度。 |
static long[] | copyOf(long[] original,int newLength) 复制指定的数组,用零截取或填充(如有必要),以便复制具有指定的长度。 |
static short[] | copyOf(short[] original,int newLength) 复制指定的数组,用零截取或填充(如有必要),以便复制具有指定的长度。 |
static | copyOf(T[] original,int newLength) 复制指定的数组,用空值截断或填充(如有必要),以便复制具有指定的长度。 |
static | copyOf(U[] original,int newLength,类 newType) 复制指定的数组,用空值截断或填充(如有必要),以便复制具有指定的长度。 |
import java.util.Arrays;
public class arrays
{
public static void main(String[] args)
{
int[] arr = {5,1,54,32,6};
int[] copy = Arrays.copyOf(arr,8);
String strarr = Arrays.toString(copy);
System.out.println(strarr);
}
}
copyOfRange()方法
将数组中指定范围复制新数组并返回
修饰语和类型 | 方法和说明 |
---|---|
static boolean[] | copyOfRange(boolean[] original,int from,int to) 将指定数组的指定范围复制到新数组中。 |
static byte[] | copyOfRange(byte[] original,int from,int to) 将指定数组的指定范围复制到新数组中。 |
static char[] | copyOfRange(char[] original,int from,int to) 将指定数组的指定范围复制到新数组中。 |
static double[] | copyOfRange(double[] original,int from,int to) 将指定数组的指定范围复制到新数组中。 |
static float[] | copyOfRange(float[] original,int from,int to) 将指定数组的指定范围复制到新数组中。 |
static int[] | copyOfRange(int[] original,int from,int to) 将指定数组的指定范围复制到新数组中。 |
static long[] | copyOfRange(long[] original,int from,int to) 将指定数组的指定范围复制到新数组中。 |
static short[] | copyOfRange(short[] original,int from,int to) 将指定数组的指定范围复制到新数组中。 |
static | copyOfRange(T[] original,int from,int to) 将指定数组的指定范围复制到新数组中。 |
static | copyOfRange(U[] original,int from,int to,类 newType) 将指定数组的指定范围复制到新数组中。 |
import java.util.Arrays;
public class arrays
{
public static void main(String[] args)
{
int[] arr = {5,1,54,32,6};
int[] copy = Arrays.copyOfRange(arr,1,3);
String strarr = Arrays.toString(copy);
System.out.println(strarr);
}
}
equals()方法
比较俩个数组是否相等
修饰语和类型 | 方法和说明 |
---|---|
static boolean | equals(boolean[] a,boolean[] a2) 如果两个指定的布尔数组彼此相等,则返回true。 |
static boolean | equals(byte[] a,byte[] a2) 如果两个指定的字节数组彼此相等,则返回true。 |
static boolean | equals(char[] a,char[] a2) 如果两个指定的字符数组彼此相等,则返回true。 |
static boolean | equals(double[] a,double[] a2) 如果两个指定的双精度数组彼此相等,则返回true。 |
static boolean | equals(float[] a,float[] a2) 如果两个指定的浮动数组彼此相等,则返回true。 |
static boolean | equals(int[] a,int[] a2) 如果两个指定的int数组彼此相等,则返回true。 |
static boolean | equals(long[] a,long[] a2) 如果两个指定的longs数组彼此相等,则返回true。 |
static boolean | equals(Object[] a,Object[] a2) 如果两个指定的对象数组彼此相等,则返回true。 |
static boolean | equals(short[] a,short[] a2) 如果两个指定的短裤阵列彼此相等,则返回true。 |
import java.util.Arrays;
public class arrays
{
public static void main(String[] args)
{
int[] arr = {5,1,54,32,6};
int[] arr2 = {5,1,54,32,6};
boolean res = Arrays.equals(arr,arr2);
System.out.println(res);
System.out.println(arr == arr2);
}
}
注意:==比较的是引用所指向对象的内存地址 Arrays.equals方法比较是俩个数组中的内容
fill()方法
用指定值去填充数组对象
修饰语和类型 | 方法和说明 |
---|---|
static void | fill(boolean[] a,boolean val) 将指定的布尔值分配给指定的布尔数组的每个元素。 |
static void | fill(boolean[] a,int fromIndex,int toIndex,boolean val) 将指定的布尔值分配给指定数组布尔值的指定范围的每个元素。 |
static void | fill(byte[] a,byte val) 将指定的字节值分配给指定字节数组的每个元素。 |
static void | fill(byte[] a,int fromIndex,int toIndex,byte val) 将指定的字节值分配给指定字节数组的指定范围的每个元素。 |
static void | fill(char[] a,char val) 将指定的char值分配给指定的char数组的每个元素。 |
static void | fill(char[] a,int fromIndex,int toIndex,char val) 将指定的char值分配给指定的char数组的指定范围的每个元素。 |
static void | fill(double[] a,double val) 将指定的double值分配给指定的双精度数组的每个元素。 |
static void | fill(double[] a,int fromIndex,int toIndex,double val) 将指定的double值分配给指定的双精度数组范围的每个元素。 |
static void | fill(float[] a,float val) 将指定的float值分配给指定的浮点数组的每个元素。 |
static void | fill(float[] a,int fromIndex,int toIndex,float val) 将指定的浮点值分配给指定的浮点数组的指定范围的每个元素。 |
static void | fill(int[] a,int val) 将指定的int值分配给指定的int数组的每个元素。 |
static void | fill(int[] a,int fromIndex,int toIndex,int val) 将指定的int值分配给指定的int数组的指定范围的每个元素。 |
static void | fill(long[] a,int fromIndex,int toIndex,long val) 将指定的long值分配给指定的longs数组的指定范围的每个元素。 |
static void | fill(long[] a,long val) 将指定的long值分配给指定的longs数组的每个元素。 |
static void | fill(Object[] a,int fromIndex,int toIndex,Object val) 将指定的对象引用分配给指定的对象数组的指定范围的每个元素。 |
static void | fill(Object[] a,Object val) 将指定的对象引用分配给指定的对象数组的每个元素。 |
static void | fill(short[] a,int fromIndex,int toIndex,short val) 将指定的短值分配给指定的短裤数组的指定范围的每个元素。 |
static void | fill(short[] a,short val) 将指定的短值分配给指定的短裤数组的每个元素。 |
将指定值分配给指定数组的每个元素
import java.util.Arrays;
public class arrays
{
public static void main(String[] args)
{
int[] arr = {5,1,54,32,6};
Arrays.fill(arr,1997);
String strarr = Arrays.toString(arr);
System.out.println(strarr);
}
}
将指定的值分配给指定数组指定范围中的每个元素
import java.util.Arrays;
public class arrays
{
public static void main(String[] args)
{
int[] arr = {5,1,54,32,6};
Arrays.fill(arr,0,3,1997);
String strarr = Arrays.toString(arr);
System.out.println(strarr);
}
}
asList()方法
可以把数组转换为List集合
修饰语和类型 | 方法和说明 |
---|---|
static | asList(T... a) 返回由指定数组支持的固定大小的列表。 |
hashCode()方法
基于指定数组的内容返回哈希码
修饰语和类型 | 方法和说明 |
---|---|
static int | hashCode(boolean[] a) 根据指定数组的内容返回哈希码。 |
static int | hashCode(byte[] a) 根据指定数组的内容返回哈希码。 |
static int | hashCode(char[] a) 根据指定数组的内容返回哈希码。 |
static int | hashCode(double[] a) 根据指定数组的内容返回哈希码。 |
static int | hashCode(float[] a) 根据指定数组的内容返回哈希码。 |
static int | hashCode(int[] a) 根据指定数组的内容返回哈希码。 |
static int | hashCode(long[] a) 根据指定数组的内容返回哈希码。 |
static int | hashCode(Object[] a) 根据指定数组的内容返回哈希码。 |
static int | hashCode(short[] a) 根据指定数组的内容返回哈希码。 |
import java.util.Arrays;
public class arrays
{
public static void main(String[] args)
{
int[] arr = {5,1,54,32,6};
System.out.println(Arrays.hashCode(arr));
}
}
最后一次更新于2019-04-25 13:54
0 条评论