未使用ArrayList,通过创建对象来实现
public class SingleLinkList {
//先初始化一个头结点,头结点不动,且不放任何元素
private HeroNode head = new HeroNode(0,"","");
//添加节点到单向链表
//找到该链表的最后一个节点,将该节点的next指向要添加的节点;
public void add(HeroNode heronode){
//不能移动头结点,添加一个辅助变量来充当遍历器
HeroNode temp = head;
while (true){
if(temp.next==null)
break;
temp = temp.next;
}
//此时temp指向了最后的节点
temp.next = heronode;
}
//遍历链表
public void showList(){
if(head.next==null){
System.out.println("链表为空");
return;
}
//不能移动头结点,添加一个辅助变量来充当遍历器
HeroNode temp = head;
while (true){
if(temp.next==null){
break;
}
temp = temp.next;
System.out.println(temp);
}
}
}
public class HeroNode {
public int num;
public String name;
public String nickname;
public HeroNode next; //指向下一个节点
//构造器
public HeroNode(int num, String name, String nickname) {
this.num = num;
this.name = name;
this.nickname = nickname;
}
@Override
public String toString() {
return "HeroNode{" +
"num=" + num +
", name='" + name + '\'' +
", nickname='" + nickname + '\'' +
'}';
}
}
public class 单链表的创建 {
public static void main(String[] args) {
//进行测试
//先创建节点
HeroNode hero1 = new HeroNode(1, "蔡徐坤", "篮球王子");
HeroNode hero2 = new HeroNode(2, "洪世贤", "渣男");
HeroNode hero3 = new HeroNode(3, "艾利", "小三");
HeroNode hero4 = new HeroNode(4, "品如", "憨批");
SingleLinkList list = new SingleLinkList();
list.add(hero1);
list.add(hero2);
list.add(hero3);
list.add(hero4);
list.showList();
}
}
测试结果
HeroNode{num=1, name=‘蔡徐坤’, nickname=‘篮球王子’}
HeroNode{num=2, name=‘洪世贤’, nickname=‘渣男’}
HeroNode{num=3, name=‘艾利’, nickname=‘小三’}
HeroNode{num=4, name=‘品如’, nickname=‘憨批’}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/14634.html