Java数组的定义
数组是一种数据结构,用来存储同一类型的集合,Java数组也就是数组的实现方式。
Java数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成,其中每一个数据称作一个数组元素。
每个数组元素可以通过一个下标来访问它们,具体如下图所示:
Java数组的特点
1)在内存中申请一块连续的空间;
2) 数组下标从 0 开始;
3) 数组的类型只能是一个,且固定,在申明时确定;
4) 数组按照索引查询元素,速度很快,时间复杂度为O(1);
5)添加、删除元素的操作很耗时间,因为要移动其他元素,时间复杂度为O(n)。
Java数组的常用示例
1.定义数组
1)定义字符串数组
String[] s=new String[5]
2)定义整型数组
int[] i=new int[5];
3)静态初始化数组
String[] s={"a","b","c"};
4)动态初始化数组
int[] a = new int[2]; a[0]=1; a[1]=2;
2.数组元素访问
通过数组名[索引] 的方式可以访问数组:
int[] arr = new int[3]; // 0 1 2 // 数组名[索引] 访问数组容器中的空间位置 System.out.println(arr[0]); // 0 系统自动分配的默认初始化值 System.out.println(arr[1]); System.out.println(arr[2]);
3.数组遍历
1)for循环遍历
方法一:for循环遍历 public static void main(String[] args) { int Arr[][]={{1,2,3},{4,5,6}}; for (int i = 0; i < Arr.length; i++) { for (int j = 0; j < Arr[i].length; j++) { System.out.print(Arr[i][j]+" "); } } }
2)foreach遍历
方法二:foreach遍历 int a[] = {1,2,3,4} ; for (int element:a){ System.out.println(element); }
3)工具类遍历
方法三:Arrays工具类中toString静态方法遍历 int a[] = {1,2,3,4} ; int b[][] = {{3,4},{1,2}}; System.out.println(Arrays.toString(a)); System.out.println(Arrays.deepToString(b));
4.数组合并
以字符串数组为例,代码示例如下:
String[] aa = {"11","22","33"}; String[] bb = {"44","55","66"}; String[] cc = {"77","88","99"}; // 合并两个数组 String[] dd = new String[aa.length + bb.length]; System.arraycopy(aa, 0, dd, 0, aa.length); System.arraycopy(bb, 0, dd, aa.length, bb.length);
5.数组扩容
//数组扩容 String[] names = new String[]{"A", "B", "C"}; String[] extended = new String[5]; extended[2] = "D"; extended[4] = "E"; System.arraycopy(names, 0, extended, 0, names.length); System.out.println("names:" + Arrays.toString(extended));
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》