开发者学堂课程【【名师课堂】Java面向对象开发:链表(删除数据)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/371/detail/4525
链表(删除数据)
目录
一、链表(删除数据)情况
二、总结
一链表(删除数据)情况:
要进行数据的删除处理,有两种情况
情况一:删除的是根节点
如果要删除的是根节点,则意味这Link中的根节点保存需要发生变化,该操作主要在 Link 中处理。
情况二:删除的不是根节点
所有的处理操作交给 Node 来进行处理。
第一次调用:this =Link.root.next、previous =Link.root;
第二次调用:this =Link.root.next、previous =Link.root.nex;
Public void remove (object data)
If (this.contains(data){//如果该数据存在则进行删除处理
If (this.root.data.equals(data)){首先需要判断要删除的是否为根节点数据
This.root=this.root.next; //根节点变为下一个跟节点
}else{ //不是根节点
This.root.next.removenode(this.root,data);
}
}
}
二、总结:
这个设计只完成了一个最简单的单向链,能通过此链表清楚动态数组的实现原理,contains() 与 remove() 两个方法需要 equals() 支持
Public void add(Object data)
方法:
Public int size()
Public boolean isEmpty()
Public Object [] toArray()
Public Object get(int index)
Public void set(int index,Object newData)
Public void remove(Object data)