一:数组
(一)基本内容是与C一致的
(二)数组定义和初始化
(1)声明
int a[]; //a没有new操作,没有被分配内存,为null
int[] b; //b没有new操作,没有被分配内存,为null(可以看做指针)
int[] c=new int[2]; //为c分配了空间,且数据初始为0
for(int e : c) {
System.out.println(e);
}
(2)初始化
int d[] = new int[] {0,2,4};
int d1[]= {1,3,5}; //最符合c
(三)数组索引
(1)数组的length属性标识数组的长度,从0开始,到length -1
(2)越界ArrayIndexOutOfBoundsException异常
(3)遍历方式
int d[] = new int[] {0,2,4};
for(int e : d) {
System.out.println(e);
}
for(int i=0;i<d.length;i++) {
System.out.println(d[i]);
}
(四)多维数组:不同之处在于可以实现不规则数组
//规则数组
int a[][] = new int[2][3];
//不规则数组
int b[][];
b=new int[3][];
b[0] = new int[3];
b[1] = new int[4];
b[2] = new int[5];
int k=0;
for(int i=0;i<b.length;i++) {
for(int j=0;j<b[i].length;j++) {
b[i][j]=k++;
}
}
for(int[] items : b) {
for(int item : items) {
System.out.println(item);
}
}
二:JCF<Java Collection Framework>容器框架(同C++中STL)
(一)容器和容器框架了解
容器:能够存放数据的空间结构
–数组/多维数组,只能线性存放 顺序存储
–列表/散列集/树/..... 非顺序存储
容器框架:为表示和操作容器而规定的一种标准体系结构
–对外的接口:容器中所能存放的抽象数据类型
–接口的实现:可复用的数据结构
–算法: 对数据的查找和排序
容器框架优点:提高数据存取效率,避免程序员重复劳动
Java 1.1和以前的数据结构
–Vector, Stack, Hashtable,Enumeration等
Java1.2和以后,JCF集合框架
–功能更强大
–易于学习
–接口和实现分离,多种设计模式设计更灵活
–泛型设计
(二)结构分类
(三)接口,实现,算法
(1)接口
(2)数据结构实现类
(3)算法类