1、Java的垃圾回收策略是回收所有无法被访问的对象的内存。
2、要使一个类可迭代,第一步就在他的声明中加入implements Iterable<Item>,对应的接口(即java.lang.Iterable)
3、链表相关操作
1)在表头插入结点:他需要的时间和链表长度无关。
如在表头插入结点not,先将头结点first保存在oldfirst中,然后将一个新结点赋给first,并将其item域设为not,next域设为oldfirst。
2)从表头删除结点:需要的时间和链表长度无关。
删除头结点,只需将first指向first.next即可。
3)在表尾插入结点
当链表只有一个结点时,它既是首结点又是尾结点!!!!
4)其他位置插入和删除操作
通过first链接访问链表的首结点并通过last链接访问链表的尾结点:
在表头插入结点;从表头删除头结点;在表尾插入结点。这三种操作比较容易实现!!!
但是删除指定结点和在指定结点前插入一个新结点比较难实现。!!
实现任意插入和删除操作的标准解决方案是使用双链表,其中每个结点都有两个链接,分别指向不同的方向。
4、链表的使用达到了我们的最优设计目标:
它可以处理任意类型的数据;
所需的空间总是和集合的大小成正比;
操作所需的时间总是和结合的大小无关。