Java中单链表的创建

阅读: 评论:0

Java中单链表的创建

Java中单链表的创建

一、代码分析:

包含两个类:

1、SingleLinked类

2、TestLinkedList类


(一)SingleLinked类

1、该类实现(implements)了“Iterable接口”。

(1)接口(interface)

①接口中的方法包含:抽象方法(无方法体,实现接口时,必须重写)、接口的静态方法(static)、接口的默认方法(default)

②接口方法的调用:

a. 接口中的抽象方法的调用通过创建实现类对象进行调用,"对象名.抽象方法名"。

b. 接口中的静态方法的调用通过“接口名.静态方法名”。

c. 接口中的默认方法的调用通过创建实现类对象进行调用,"对象名.默认方法名"。

(2)重写Iterable接口的抽象方法:public Iterator iterator()

2、该类中存在内部类(优点:高内聚、低耦合)

(1)内部类1:Node

①成员变量:Data(元素的数据)、next(下一个元素的地址)

②有参的构造器:public Node(Object data, Node next)

(2)内部类2:Itr

① Itr实现了“Iterator”接口,对它的抽象方法进行重写。

②重写的方法:

a.判断是否有下一个元素:public boolean hasNext() 
b.取出下一个元素:public Object next()

3、成员方法:

添加新的结点:public void add(Object element)

//2022.7.28
import java.util.Iterator;public class SingleLinked implements Iterable{private Node first;//记录第一个结点的地址//添加新的结点public void add(Object element){Node newNode = new Node(element,null);//查看是否是第一个结点if(first == null){first = newNode;}else {//找到当前链表的最后一个结点,将新结点添加到它的后面Node node = first;while ( != null){node = ;}//找到最后一个结点后,跳出循环,将新结点加在最后一个结点上 = newNode;}}@Overridepublic Iterator iterator() {return new Itr();//返回Iterator接口的实现类}private class Itr implements Iterator{Node node = first;@Overridepublic boolean hasNext() {//判断是否有下一个元素return node!= null;}@Overridepublic Object next() {//取出下一个元素Object element = node.data;node = ;return element;}}//创建一个内部类:结点private class Node{//元素的数据Object data;//下一个元素的地址Node next;//构造器public Node(Object data, Node next) {this.data =  = next;}}
}

(二)TestLinkedList类

测试类,主程序的入口。

创建了一个SingleLinked类的对象list,调用添加元素的方法add()。

使用foreach循环,快速生成foreach方法的快捷方式为“iter”


//2022.7.28
public class TestLinkedList {public static void main(String[] args) {SingleLinked list = new SingleLinked();list.add("hello");list.add("world");//foreach循环输出的快捷键为"iter"for (Object o : list) {System.out.println(o);}}
}

二、测试结果

添加成功,代码可行。 

本文发布于:2024-01-29 12:33:59,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170650284115316.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:链表   Java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23