今天看了这个类,觉得这个类设计出来,没有发挥出链表的优点啊,尽管可能更安全了,这样的话链表还有什么意义呢?这个类有点鸡肋啊
    还有就是迭代器为什么要分为外部和内部两种呢?各有什么好处呢?不解啊。 

解决方案 »

  1.   

    链表插入和删除效率高。因为之用记录它的next和pre元素。查找时间慢,必须重first或last查起,
      

  2.   

     可是java提供的LinkedList类没有直接删除已知某的一个结点的方法啊。也只能根据结点的位置从头找到然后再删除,那样的话链表的优点就体现不出来了。
      

  3.   

    LinkedList的用途主要是当作Stack,Queue、Deque使用。
      

  4.   

    推荐LZ看下JAVA数据结构和算法这本书,写的挺好的
      

  5.   


    有道理,只不过如果知道要进行操作结点位置也就是线性表具体的第几个结点,那样的话线性表查找的速度是O(1)的,我主要是说这种情况,这样的话,LinkedList类就让人很不爽了。还有内部类实现的迭代器与独立的迭代器各有什么优点呢?我对这个相当不解啊。
      

  6.   

       你或许还没有真正理解链表,是因为你没有在内存与效率上面去看。
        链表的在内存上分散的,在程序运行的时候读取肯定是比较慢的,
       但相对来说,如果你在程序运行当中想对这个集合进行修改的话,链表无疑是最好的选择!
       就比如说,如果你要用动态数组来一次倒序和用Linkedlist来一次倒序,你认为哪个又会更快了?   总而言之有这么一句话: 动态数组:读快改慢。
                              链表:    改快读慢。
                         怎么样用,就要看你的程序里面的数据是改的多还是不多咯!