一、二维数组:
数组是开辟的连续空间。
一维数组:
(定义的2种格式)
int[] a=new int[45];
int[] b={1,2};
遍历:
for (int k:b) {System.out.println(k);}
二维数组:
(定义的4种格式)
int[][] c=new int[1][1];
int[][] d={{1},{2}};
int[] e[]=new int[1][2];
int f[][]=new int[1][2];
其中有同学会发现
int[][] arr = new int[3][]; arr[0] = new int[2]; arr[1] = new int[3]; arr[2] = new int[2];
这种情况是每列都可以变化的。
数组的缺点(从使用的角度):
1:提前需要确定数组的类型,那么数组一旦确定了类型 那么当前的数组就只能存储和数组类型一致的元素(数组的元素是不通用的)
2:数组在定义的时候需要提前确定数组的长度,Java虚拟机会按照指定的长度来开辟数组的空间,数组的长度一旦确定那么当前的数组是不可以改变的,所以在实际的使用中会造成浪费(要么空间不够,要么浪费)
集合:
Collection是一个集合的根接口。 Collection有两个子接口(Set,List);
List:
也是一个接口,List是一个有序的Collection集合,可以对列表中每个元素的插入位置精确控制(支持下标)。
List的实现类都是允许重复的,也就是满足e1.equals(e2)
List的大小是可以改变的,自动的根据存入的元素来东台的扩展内部的空间 v
ArratList 是一个类,实现了List接口