JDK提供的java.util.Arrays类,包含了常用的数组操作,方便我们日常开发。Arrays类包含了:排序、查找、填充、打印内容等常见的操作。
打印数组:
Arrays.toString(a)
此处的Arrays.toString()方法是Arrays类的静态方法,不是Object中的toString()方法。
String[] str = {"阿里","百度","京东","搜狐","网易"};
System.out.println(Arrays.toString(str));
// [阿里, 百度, 京东, 搜狐, 网易]
数组扩容,缩容: Arrays.copyof()
String[] s = {"阿里","百度","京东","搜狐","网易"};
//扩容
String[] strings1 = Arrays.copyOf(s, s.length+1);
System.out.println(Arrays.toString(strings1));
// [阿里, 百度, 京东, 搜狐, 网易, null]
//缩容
String[] str = Arrays.copyOf(s, s.length-1);
System.out.println(Arrays.toString(str));
// [阿里, 百度, 京东, 搜狐]
数组元素排序:Arrays.sort(a)
只能用于能够转化为基本数据类型的数组。
String[] s = {"1","2","7","3","4"};
Arrays.sort(s);
System.out.println(Arrays.toString(s));
// [1, 2, 3, 4, 7]
引用类型的排序是要实现Comparable接口,在集合那里有详细 。
二分法
查找
:
Arrays.binarySearch(s, "2")
使用二分法查找,必须先对数组进行排序。
String[] s = {"1","2","7","3","4"};
Arrays.sort(s);
System.out.println(Arrays.toString(s));
//返回排序后新的索引位置,若未找到返回负数。
System.out.println("该元素的索引:"+Arrays.binarySearch(s, "2"));
// [1, 2, 3, 4, 7]
// 该元素的索引:1
数组填充:
int[] a= {1,2,3233,23,543,12,59};
//将2到4索引的元素替换为100;不包含4位置
Arrays.fill(a, 2, 4, 100);
System.out.println(Arrays.toString(a));
// [1, 2, 100, 100, 543, 12, 59]
关注公众号,获取各种免费软件、资料,笔记哦。