一.生成Javadoc
二.问题回复
三.总结
一.生成Javadoc
Javadoc用于描述类或者方法的作用。Javadoc可以写在类上面和方法上面。
这是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了。
二.问题回复
面向对象和面向过程
面向对象是把一个过程中,解决问题的实体分成多个对象, 对象具有状态、行为和标志,分别是内部数据、方法、和每个对象在内存中的唯一个地址,面向对象应该具有封装、继承、多态、组合等特性。
通过实例化对象,来让对象来解决一类问题。由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护。
顺序表和链表
顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,使得线性表在逻辑结构上相邻的元素存储在连续的物理存储单元中。一般情况下采用数组存储,在数组上完成数据的增删查改。
但在实现插入和删除的时候,需要移动大量的数组元素,导致效率低,并且使用前需声明数组的长度,一旦声明长度就不能更改。
链表使用指针,插入和删除的效率高,只需要改变指针的指向就可以进行插入和删除,并且内存利用率高,不会浪费内存,可以使用内存中细小的不连续的空间,只有在需要的时候才去创建空间。大小不固定,拓展很灵活,但是使用链表查找始终会从头结点开始,不像顺序表使用数组的下标直接定位。
链队列和循环队列
因为顺序队列使用时会出现"假溢出“的问题,所以会采用循环队列,并且使用取余的操作来进行入队和出队的操作。
从时间上考虑,循环队列和链队列的基本操作都是O(1),不过循环队列是事先已申请好空间,使用期间不会释放。而对于链队列,每次申请和释放结点也会存在一些时间开销。如果入队和出队频繁,两者还是有细微差异的。
从空间来说,循环队列必须有一个固定的长度,所以就有了存储元素个数和空间浪费的问题。而链队列不存在这个问题,尽管它需要一个指针域,会产生一些空间上的开销,但是是可以接受的。所以从空间上说,链队列更加灵活。
总的来说,在可以确定链队列最大长度的情况下,建议使用循环队列。如果无法预估队列的长度,则使用链队列。
基础数据类型不同
两个队列分别存储t和char,如果需要都需要重写一个类,那么是不符合面向对象的特点的。由此Java拥有泛型。
比如:ArrayList E就是泛型。 这种不确定的数据类型需要在使用这个类的时候才能够确定出来。
泛型可以省略,如果省略,默认泛型是Object类型。
泛型的好处:
- 省略了强转的代码。
- 可以把运行时的问题提前到编译时期。