1 进行对象是否相同的判断 创建辅助节点temp 遍历链表,找到最后 未到最后,将temp后移 当退出while循环时,temp就指向了链表的最后 判断add的节点对象是否存在,若存在则不添加 将最后
1 进行对象是否相同的判断
创建辅助节点temp
遍历链表,找到最后
未到最后,将temp后移
当退出while循环时,temp就指向了链表的最后
判断add的节点对象是否存在,若存在则不添加
将最后这个节点的next 指向新的节点
public void add(HeroNode heroNode) {
//创建辅助节点
HeroNode temp = head;
//遍历链表,找到最后
while (true) {
if (temp.next == null) {//
break;
}
//未到最后,将temp后移
temp = temp.next;
}
//当退出while循环时,temp就指向了链表的最后
//判断add的节点对象是否存在,若存在则不添加
if (temp == heroNode) {
System.out.println("插入的节点对象已经存在");
} else {
//将最后这个节点的next 指向新的节点
temp.next = heroNode;
}
}
2 重写节点类里的equals方法
重写节点类里的equals方法,则相同内容的不同节点对象也无法添加