Node<;E>;在这个链表中表示Java示例代码?

Node<;E>;在这个链表中表示Java示例代码?,java,generics,linked-list,nodes,Java,Generics,Linked List,Nodes,我正在学习链表,但我不理解课本上的这个例子。我理解泛型的概念(虽然在这一点上可能不是很好),并在我自己的代码中实现了几个泛型类,我已经阅读并观看了很多教程,但我仍然不能理解节点实际做了什么(实际上是什么,它是一种类型?),所以我不能真正测试这段代码 import java.util.*; public class SinglyLinkedList<E> { private class Node<E> { private E element;

我正在学习链表,但我不理解课本上的这个例子。我理解泛型的概念(虽然在这一点上可能不是很好),并在我自己的代码中实现了几个泛型类,我已经阅读并观看了很多教程,但我仍然不能理解节点实际做了什么(实际上是什么,它是一种类型?),所以我不能真正测试这段代码

import java.util.*;

public class SinglyLinkedList<E> {

    private class Node<E> {
        private E element;
        private Node<E> next;

        public Node(E e, Node<E> n) {
            element = e;
            next = n;
        }

        public E getElement() { 
            return element; 
        }

        public Node<E> getNext() { 
            return next; 
        }

        public void setNext(Node<E> n) { 
            next = n; 
        }
    } 
}
import java.util.*;
公共类单链接列表{
私有类节点{
私人电子元件;
私有节点下一步;
公共节点(E,节点n){
元素=e;
next=n;
}
公共E getElement(){
返回元素;
}
公共节点getNext(){
下一步返回;
}
public void setNext(节点n){
next=n;
}
} 
}
例如,我尝试创建Node对象或SinglelyLinkedList对象,如下所示:

SinglyLinkedList<E> NodeEl = new SinglyLinkedList<E>();
Node <E> node = new Node<E>();
SinglyLinkedList NodeEl=newsinglyLinkedList();
节点=新节点();

把各种各样的东西传给他们都没有用。我显然遗漏了一些东西,但我不明白是什么。

类SingleyLinkedList
表示泛型类型元素的链接列表

例如,您可以使用以下命令创建
字符串的链接列表:

SinglyLinkedList<String> list = new SinglyLinkedList<String>();
SinglyLinkedList
类的内部实例(即非静态)方法,其中有一个封闭实例(属于
SinglyLinkedList
类)

也就是说,如果
节点
应包含与
SingleyLinkedList
的元素类型相同的元素,则它不应是泛型的。它可以简单地使用封闭类的泛型类型参数(
SinglyLinkedList
):

公共类单链接列表{
私有类节点{
私人电子元件;
私有节点下一步;
公共节点(E,节点n){
元素=e;
next=n;
}
公共E getElement(){
返回元素;
}
公共节点getNext(){
下一步返回;
}
public void setNext(节点n){
next=n;
}
} 
}

也粘贴导入语句。因为有多个类的名称节点具有不同的名称空间。@Shriram Done。我使用的唯一导入是java.utils.*,但是这本书实际上没有提到任何内容,这是我决定尝试的。谢谢你的回答,我认为现在它更清晰了,但我对实现仍然很模糊。编译器接受
SinglyLinkedList=newsinglyLinkedList()Node Node=new Node()
节点节点=新节点()不工作。@Sheenan我以为你发布了一个不完整的
SingleLinkedList
类。我希望整个类包含
add
remove
等方法。只要
节点
仍然是私有类,就不能从
SingleLinkedList
类外部创建
节点
的实例。
Node<E> node = new Node<E>();
public class SinglyLinkedList<E> {

    private class Node {
        private E element;
        private Node next;

        public Node(E e, Node n) {
            element = e;
            next = n;
        }

        public E getElement() { 
            return element; 
        }

        public Node getNext() { 
            return next; 
        }

        public void setNext(Node n) { 
            next = n; 
        }
    } 
}