从单链表中删除一个节点的思路:
1.我们需要先找到需要删除的节点的前一个节点temp
2.temp.next=temp.next.next
3.被删除的节点,将不会有其他引用指向,会被垃圾回收机制回收
//修改节点的信息,根据no编号来修改,即no编号不能改
//说明
//1.根据newheronode的no来修改即可
public void update(HeroNode newHeroNode){
//判断是否空
if(head.next==null){
System.out.println("链表是空的~~");
return;
}
//找到需要修改的节点,根据no编号
//定义一个辅助变量
HeroNode temp=head.next;
boolean flag=false;
while(true){
if(temp==null){
break;//已经遍历完链表
}if(temp.no==newHeroNode.no){
//找到
flag=true;
break;
}
temp=temp.next;
}
//根据flag判断是否找到要修改的节点
if(flag){
temp.name=newHeroNode.name;
temp.nickname=newHeroNode.nickname;
}else{
//没有找到
System.out.printf("没有找到 编号 %d 的节点,不能修改\n", newHeroNode.no);
}
}