用Arrays工具类来实现数组的动态扩容
用copyOf实现数组动态扩容
copyOf()方法效果展示
public class Expansion {
public static void main(String[] args) {
int arr[] = new int[10];
System.out.println(arr.length);
arr= Arrays.copyOf(arr,15);
System.out.println(arr.length);
}
}
此时输出结果为:
10
15
那么实现数组的动态扩容是不是就轻而易举了呢
element是一个Object类型的数组,此时实现向该数组中添加数据并动态扩容的方法。
void add(Object obj) {
if(element==null) {
element = new Object[1];
}else {
element = Arrays.copyOf(element, element.length+1);
}
element[count]=obj;
count++;
}
拓展
java. util.Arrays类包含用于操作数组的各种方法,此处列举几个常用的方法。
Arrays.toString()
括号中填写数组名称,该方法用于遍历输出数组,摆脱了循环的麻烦。
public class Expansion {
public static void main(String[] args) {
int arr[] ={1,3,4,2,6,5,9,8,7};
System.out.println(Arrays.toString(arr));
}
}
输出如下:
[1, 3, 4, 2, 6, 5, 9, 8, 7]
Arrays.sort()
括号中填写数组名称,将数组中元素升序排列,此处用的是快速排序。
public class Expansion {
public static void main(String[] args) {
int arr[] ={1,3,4,2,6,5,9,8,7};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
输出如下:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Arrays.binarySearch(,)
括号中前面写数组名称,后面写查询的元素,返回值为查询元素的下标
public class Expansion {
public static void main(String[] args) {
int arr[] ={1,3,4,2,6,5,9,8,7};
System.out.println(Arrays.binarySearch(arr,9));
}
}
输出如下:
6
Arrays中其实还有很多实用的方法,在编写程序时有助于我们节省时间提高效率。