一:数组
(一)基本内容是与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]); }
0 2 4 0 2 4
(四)多维数组:不同之处在于可以实现不规则数组
//规则数组 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)算法类