一维数组
数组的本质是内存中连续的存储单元。数组内的元素类型必须相同。
int[] arr = new int[5];
int[] arr2 = new int[] {1,2,3,4,5};
int[] arr3 = {6,7,8};数组支持随机访问,但增加、删除元素很慢。
想要增加、删除元素快,应该考虑链表。
heap and stack
在java里,局部变量通常在栈区,new出来的对象、数组通常在堆区。
数组拷贝
System.arraycopy(arr1, 0, arr2, 0, arr1.length);
工具类
// import java.util.Arrays; int[] arr = new int[10]; Arrays.fill(arr, 5); System.out.println(Arrays.toString(arr)); Arrays.sort(arr); //可以自己写个Compartor System.out.println(Arrays.binarySearch(arr, 5));
二维数组
由多个一维数组摞起来的数组
//初始化
int[][] arr = new int[][]{{1,2},{3,4}};
//锯齿数组
int[][] arr2 = new int[2][];
arr2[0] = new int[5];
arr2[1] = new int[6];//赋值要循环
int[][] arr = new int[5][5];
for (int i=0; i<arr.length; i++) {
Arrays.fill(arr[i], 6);
}
京公网安备 11010502036488号