java数据结构之链表(java核心卷Ⅰ读书笔记)

时间:2021-06-02 15:12:26

1.链表

数组和ArrayList的一个重大缺陷就是:从中间位置删除一个元素要付出很大的代价,因为在这个元素删除之后,所有的元素都要向前端移动,在中间的某个位置插入一个元素也是这个原因。

(小感悟:sun-zheng说了一句,每天在那安静地写代码,才是最轻松的活,不用这跑那跑,不用费太多的口舌,每天吹着空调,外面就是建筑地,别人风吹日赛,真的写代码是一件最轻松的事情)

我们在数据结构这门课中,在链表中添加或者删除某个元素时候,绕来如去的指针可能已经给人留下了极坏的印象,那么Java的集合类库提供了一个类LinkedList给开发者带来了极大的方便

******************

链表的

java数据结构之链表(java核心卷Ⅰ读书笔记)

*******

java数据结构之链表(java核心卷Ⅰ读书笔记)

也是一样的输出结果

java数据结构之链表(java核心卷Ⅰ读书笔记)

**************************

java数据结构之链表(java核心卷Ⅰ读书笔记)

********

java数据结构之链表(java核心卷Ⅰ读书笔记)

直接调用Iterator接口的包含的3个方法, next()  hasNext()  remove()  就可以完场大部分功能

****************

迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。

  Java中的Iterator功能比较简单,并且只能单向移动:
  (1) 使用方法iterator()【由集合对象对象调用这个方法】要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。
  (2) 使用next()获得序列中的下一个元素。 // 下面的这3个方法是由Iterator iter 中的iter调用的
  (3) 使用hasNext()检查序列中是否还有元素。
  (4) 使用remove()将迭代器新返回的元素删除。

**************************

Iterator是Java迭代器最简单的实现,为List设计的ListIterator接口具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。

***************************

查找

java数据结构之链表(java核心卷Ⅰ读书笔记)