public void printList( ){
Node<E> p ;
System.out.printf( ” [ ” ) ;
for ( p=head.next ; p != null ; p=p.next )
System.out.print( p.element ) ;
System.out.printf( ” ] ” ) ;
}
public void addLast (E e){
Node<E> p = head; // <--- data type Node<E>, var name = p, but what is head type?
while ( p.next != null )
p = p.next ;
p.next = new Node<E>(e , null ) ;
}
泛型示例:
public class Box {
private Object object;
public void set(Object object) { this.object = object; }
public Object get() { return object; }
}
使用泛型:
// T stands for "Type"
public class Box<T> {
private T t;
public void set(T t) {
this.t = t;
}
public T get() {
return t;
}
}
我对链表如何直观地工作有一个大致的了解,但是我在代码中看不到它。
我知道你有元素和对下一个节点的引用。在上面的代码中,“.”是怎么回事?运算符在遍历列表直到达到 null 时工作?
我相信“下一个”是一个参考变量。当它执行 p=p.next 时,它在代码/计算机中如何工作?
在不相关的注释上,节点?而不是节点(E)?不同之处?在上面的例子中,似乎 'object' 被 't' 取代了,我看不出有什么好处。;S
任何帮助都非常感谢,在此先感谢!