Java面向对象
Java异常
Java数组
Java常用类
Java集合
Java IO流
Java线程
Java反射
Socket编程
Java注解开发
Java GoF设计模式
HashMap
Java内存模型
Java线性表

线性表的抽象数据类型定义

数据结构的四种逻辑结构: 集合, 线性, 树形, 网状

	linearity = ( D , R )
		D = { a1, a2, a3, a4}
		R = { <a1,a2> , <a2,a3> , <a3,a4>}	

a1元素称为第一个元素, 其他的元素都有一个直接前驱, a4元素称为最后一个元素, 其他的元素都有一个直接后继

生活中的线性结构: 排队

线性表的抽象数据类型

	ADT   List {
		数据对象: D = {ai  属于某个数据类型,  i=0,1,2,3...}
				D = { a0, a1, a2, a3, a4... an}, 所有的元素都是同一个数据类型
		数据关系: R= { <ai, ai+1>}				
		数据操作:
			getSize(): 返回线性表中元素的个数
			isEmpty(): 判断线性表是否为空, 线性为空返回true,否则返回false
			insert( i , e ) : 在线性表的i索引值位置插入元素e, 如果索引值i越界报错
			contains(e): 在线性表中判断是否存在元素e,存在返回true,
			indexOf(e) : 返回元素e在线性表中的索引值, 如果不存在元素e返回-1
			remove( e) : 删除线性表中第一个与e相同的元素, 删除成功返回删除的元素
			remove( i ) : 删除线性表中指定索引值的元素,返回删除的元素, 如果索引值i越界报错
			replace( i , e): 把纯性表中索引值 为i 的元素替换为元素e, 如果索引值i越界报错
			get( i): 返回线性表中索引值为i的元素, 如果索引值i越界报错
			insertBefore( p , e): 在线性表中元素p的前面插入元素e
			insertAfter( p, e) : 在线性表中元素p的后面插入元素e
	}List; 

抽象数据类型可以对应的一个Java类, 数据对象与元素之间的关系 可以通过成员变量来存储和表示;数据操作可以通过一组方法来实现