在实现方法时,选择不同的数据结构,会导致其实现风格和性能存在巨大差异。因此利用java类库在程序设计中使用合理的数据结构(计算机存储、组织数据的方式)非常必要。堆、栈、集合都是数据结构的一种。
简单的数据结构队列:是常用的数据结构之一,一种特殊的线性表。特殊之处在于它只允许在表的前端进行删除操作,而在表的后端进行插入操作。队列是一种先进先出的数据结构。
线性表:是最基本的数据结构,一个线性表是n个具有相同特征的数据元素有序序列。
链表:是一种非连续、非顺序的存储结构。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
链表与线性表相比:链表相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,存储速度比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要的时间,比线性表时间长。
java集合框架
1、将集合的接口与实现类分离
java类库中有队列接口Queue,Queue接口只是声明了给队列添加对象、移出对象的方法。并没有说明队列是如何实现的。队列通常有两种实现方式,使用循环数组(循环数组队列) 使用链表(链表队列)。
队列接口Queue最简单的形式类似
public interface Queue
{
void add(E element);
E remove();
int size();
}
2、Collection接口
集合类的基本接口是Collection,这个类有两个基本方法
public interface Collection{
boolean add(E element);//向集合中添加元素
Iterator iterator();//返回一个实现Iterator接口的对象
}