本文共 1940 字,大约阅读时间需要 6 分钟。
本文简单介绍了如何利用Java自带的类创建数组,掌握这些将有助于在Leetcode中刷题。
创建数组
int[] a = { 1, 2, 3};int[] b = new int[]{ 1, 2, 3};int[] c = new int[3];for (int i = 0; i < a.length; i++) { c[i] = i + 1;}ArrayListarr = new ArrayList<>();for (int i = 0; i < 3; i++) { arr.add(i + 1);}
添加元素
arr.add(99);arr.add(3, 88); // 在索引为3的位置添加元素88
访问元素
int c1 = c[1];int arr1 = arr.get(1);
更新元素
c[1] = 11;arr.set(1, 11);
移除元素
arr.remove(3); // 删除元素3
数组长度
int cSize = c.length;int arrSize = arr.size();
遍历数组
for (int i = 0; i < c.length; i++) { int current = c[i];}for (int i = 0; i < arr.size(); i++) { int current = arr.get(i);}
查找元素
for (int i = 0; i < c.length; i++) { if (c[i] == 99) { System.out.println("We found 99 in c"); }}boolean is99 = arr.contains(99);
数组排序
c = new int[]{ 2, 3, 1};Arrays.sort(c);arr = new ArrayList<>{ };arr.add(2);arr.add(3);arr.add(1);Collections.sort(arr); // 从小到大Collections.sort(arr, Collections.reverseOrder()); // 翻转,从大到小
打印数组
System.out.println(array); 这样是不行的,这样打印是的是数组的首地址一维数组
int[] array = { 1, 2, 3, 4, 5};
for 循环
for (int i = 0; i < array.length; i++) { System.out.println(array[i]);}
for each
for (int a : array) { System.out.println(a);}
Arrays的toString()
调用Array.toString(a),返回一个包含数组元素的字符串,这些元素被放置在括号内,并用逗号分开System.out.println(Arrays.toString(array));
二维数组
int[][] arrays = { { 16, 3, 2, 13}, { 5, 10, 11, 8}, { 9, 6, 7, 3}};
for 循环
for (int i = 0; i < arrays.length; i++) { for (int j = 0; i < arrays[0].length; i++) { System.out.print(array[i][j] + " "); } System.out.println();}
for each
for (int[] a : arrays) { for (int b : a) { System.out.print(b + " "); } System.out.println();}
Arrays的toString()
for (int i = 0; i < array.length; i++) { System.out.println(Arrays.toString(arrays[i]));}
参考资料来源:
转载地址:http://tgxo.baihongyu.com/