随笔20180428

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、链表的使用达到了我们的最优设计目标:

            它可以处理任意类型的数据;

            所需的空间总是和集合的大小成正比;

            操作所需的时间总是和结合的大小无关。











猜你喜欢

转载自blog.csdn.net/u014067137/article/details/80134916