- 一、什么是Java中的链表
- 二、链表的优点
- 三、创建链表对象实例并添加元素
- 四、Iterator主要的三个方法
- 六、实例代码
- 七、更新日志
二、链表的优点链表(linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。
——菜鸟教程
-
如果在数组中删除一个元素,那么后面所有的元素都必须向前移动一位。如果元素比较多,那么移动的次数就会更多。
-
删除一个元素时,只需将被删除元素的前一个元素的指针,指向被删除元素的后一个元素,使得被删除的元素脱离链表,就相当于删除了元素。链表不需要像数组那样移动元素,这样就节约了系统资源。
-
每个元素都拥有两个指针属性,一个是previous指针,一个是next指针。
-
每一个元素的next指针都会指向下一个元素本身,而下一个元素的previous指针都会指向上一个元素本身。
-
这样,要删除元素就比较简单,只需要让被删元素前面元素的previous指针指向被删元素后面的元素本身,再将被删除元素后面元素的next指针指向被删除元素的前面元素本身即可。
linkedList List=new linkedList();
List.add("王鹏");
List.add("王浩");
List.add("王杰");
List.add("张杰");
List.add("李杰");
List.add("孙文杰");
List.add("赵杰");
四、Iterator主要的三个方法
- Iterator主要有三个方法:hasNext()、next()、remove()
- hasNext:没有指针下移操作,只是判断是否存在下一个元素
- next:指针下移,返回该指针所指向的元素
- remove:删除当前指针所指向的元素,一般和next方法一起用,这时候的作用就是删除next方法返回的元素
import java.util.linkedList;
import java.util.Iterator;
public class file1 {
public void add()
{
linkedList List=new linkedList();//创建一个链表类对象List
List.add("王鹏");
List.add("王浩");
List.add("王杰");
List.add("张杰");
List.add("李杰");
List.add("孙文杰");
List.add("赵杰");
//通过迭代器遍历输出初始数据
Iterator it=List.iterator();//创建一个迭代器对象it
System.out.println("学生姓名如下:");
while(it.hasNext())//hasNext()是Iterator的一个方法,判断是否存在下一个元素
{
System.out.println(it.next());
}
it.remove();//删除当前指针所指向的元素
Iterator it1=List.iterator();//创建一个迭代器对象it1
System.out.println();//换行
System.out.println("删除一名学生后学生姓名如下:");
for(int i=0;i
七、更新日志
- 2021/11/5 第一次编辑



