201671010105 2016-2017-2《Java程序设计》第十一周学习心得
这周,实验课上我们主要学习了第9章的部分内容,首先我老师回顾了上周我们学习的泛型类,然后又补充了我们学习集合会用到的数据结构相关的内容,就一般而言,数据结构分为线性数据结构和非线性数据结构,线性数据结构包括线性表,队列,串,文件,栈,数组,而非线性数据结构包括树和图,线性表根据存储结构的不同可分为顺序表和链表,顺序表是按顺序结构存储的而链表是按链式存储结构存储的,其中,链表又分为单链表,循环链表和双向循环链表。栈,一种后进先出(LIFO)也叫先进后出(FILO)的存储方式,仅限定在表尾进行插入和删除运算,物理存储可以是顺序存储也可以是链式存储。队列,是先进先出的存储方式,所有插入只能在一端完成,所有的删除在另一端完成,其中插入的一端叫队尾,删除的一端叫队头。散列表,又称哈希表,以结点关键字作为自变量并通过散列函数计算出函数值,并作为此结点存储的地址,当散列表快满了的时候就要进行再散列,而是否再散列是根据负载因子来判断的,负载因子越大,说明对内存的利用率越高,查找元素的时间越长,反之则相反。通过对数据结构相关知识的复习,对我们学习java集合框架很有帮助,java集合框架主要用于对各种数据结构的封装,从而降低对数据结构管理与处理的难度。集合,也叫容器,是一种包含其他对象并提供对所包含对象操作方法的对象,重要的一点是它所包含的对象可以是同一类型,也可以是不同类型。框架是类库的集合。集合类提供了一些基本的数据结构,比如Vector(矢量类),Hashtable(哈希表累),Stack(栈类),我们了解了这三个类的关键方法和特点,同时,集合类包含在import java.util包中,集合类的特点是1.只容纳对象,如果想使用基本数据类型同时又想其兼具集合类的灵活性,可以把基本数据结构封装成该数据类型的对象也即封装成包装器对象,然后放入集合中,2.容纳的对象都是object类的实例,因为object类是所有类的祖先类,所以可以存放任何类的对象,但当该对象放入集合类中之后它的类信息将丢失从而使得集合类通用。集合的两个基本接口是collection和map(映射),JDK中没有提供collection接口直接的实现类。前面内容讲了ArrayList类的知识,今天主要讲LinkedList类的内容。课堂上通过程序调试运行了解了部分知识,还有部分内容通过对导入代码进行注释来加深理解。