Arrays工具类的常用方法
Arrays工具类
Arrays工具类:用来操作数组(比如排序和搜索)的各种方法
Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用。
返回值 | 方法 | 描述 |
---|---|---|
int | binarySearch(Object[] a, Object key) | 二分法查找给定值的索引,数组在调用之前必须是排序好的 |
boolean | equals(int[] a,int[]a1) | 两个指定int型数组彼此相等,则返回true,也就是两个数组以相同顺序包含相同的元素,方法适用于(byte,short.,long等)。 |
void | fill(int[] a,int val) | 将指定的int值分配给数组中的所有元素,方法也同样适用于(byte,short.,long等)。 |
void | sort(int[] a) | 对数组中的元素进行升序排列,方法也同样适用于(byte,short.,long等)。 |
int | copyof(int[] a,int newLength) | 复制指定数组的长度,方法也同样适用于(byte,short.,long等)。 |
string | toString(int[] a) | 返回指定数组的字符串表示形式,方法也同样适用于(byte,short.,long等)。 |
List | asList(int[] a,int[] b) | 返回由指定数组支持的固定大小的列表,方法也同样适用于(byte,short.,long等) |
1.toString()方法打印数组:
public static void main(String[] args) {
// 定义一个数组
int[] b = new int[]{1, 2, 3, 4, 5, 6};
// 调用Arrays工具类的toString()方法
System.out.println(Arrays.toString(b));// [1,2,3,4,5,6]
}
2.sort()方法升序排列:
public static void main(String[] args) {
// 定义一个数组
int[] b = new int[]{3, 2, 4, 5, 1, 6};
// 调用Arrays工具类的sort()方法
Arrays.sort(b);
System.out.println(Arrays.toString(b));// [1,2,3,4,5,6]
}
3.binarySearch(int[] a, int key)查找索引:
public static void main(String[] args) {
// 定义一个有序数组
int[] b = new int[]{1, 2, 3, 4, 5, 6};
// 调用二分查找方法
int index = Arrays.binarySearch(b, 4);
// 打印索引
System.out.println(index);// 3
}
4.equals(int[] a,int[] b)比较数组:
public static void main(String[] args) {
// 定义两个数组
int[] b = new int[]{1, 2, 3, 4, 5, 6};
int[] a={1,2,3,4,5,6};
// 判断两数组是否相等
System.out.println(Arrays.equals(a,b));// true
}
5.fill(int[] a,int val)分配数组元素:
public static void main(String[] args) {
// 定义1个数组
int[] a={1,2,3,4,5,6};
// 全部填充为22
Arrays.fill(a,22);
// 打印数组
System.out.println(Arrays.toString(a));//[22,22,22,22,22,22]
}
6.copyof(int[] a,int newLength)复制数组:
public static void main(String[] args) {
// 定义1个数组
int[] a={1,2,3,4,5,6};
//复制一个新数组长度为4
int[] ints = Arrays.copyOf(a, 4);
System.out.println(Arrays.toString(ints));//[1,2,3,4]
// 再定义一个新数组(这是我们利用另一种方法复制数组)
int[] newArray = new int[a.length];
// 第一个参数是指被复制的数组,第二个参数是被复制数组的起始索引,第三个是新数组,第四个参数是新数组的起始索引
System.arraycopy(a,0,newArray,0,5);
System.out.println(Arrays.toString(newArray));// [1,2,3,4,5,0]
}
这里注意,arraycopy的性能高于copyOf,因为copyOf的源码实现就是arraycopy。
7.asList(int[] a,int[] b)数组转换为list:
public static void main(String[] args) {
// 定义2个数组
int[] a={1,2,3,4,5,6};
int[] b={23,34,23};
// 将两个数组放进list集合中
List<int[]> ints = Arrays.asList(a, b);
for (int[] anInt : ints) {
System.out.println(Arrays.toString(anInt));// [1,2,3,4,5,6][23,34,23]
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!