如何以相反的顺序打印 LinkedList Node 对象
How to print LinkedList Node object in reverse order
在下面的方法reverse()
中,我想访问Node
的元素并将它们添加到ArrayList
中。之后,使用循环,它将以相反的顺序打印.
public void reverse(){
Node e = head;
ArrayList<E> s = new ArrayList<E>();
while(e!=null){
s.add(e.element);
e= e.next;
}
for (int i = count-1; i >= 0; i--) {
System.out.print (""+s.get(i));
}
System.out.println("");
}
但是,s.add(e.element) ;
给出了一个错误。
这是节点 class,
public class Node<E> {
E element;
Node<E> next;
public Node(E element){
this.element=element;
next =null;
}
}
和链表class
public class LinkedListStack<E> implements Stack<E>{
Node<E> head;
Node<E> tail;
int count=-1;
public LinkedListStack() {
head=tail=null;
}
public void push(E element) {
Node<E> newNode = new Node<>(element);
if(count==-1){
head=tail=newNode;
count++;
}
else{
newNode.next=head;
head = newNode;
}
count++;
}
public void reverse(){
Node e = head;
ArrayList<E> s = new ArrayList<E>();
while(e!=null){
s.add(e.element);
e= e.next;
}
for (int i = count-1; i > 1; i--) {
System.out.print (""+s.get(i));
}
System.out.println("");
}
}
如果有人解释添加对象的错误,我将不胜感激
ArrayList 中的元素详细信息。
您正在使用通用节点类型作为原始类型:
Node e = head;
应该是
Node<E> e = head;
在下面的方法reverse()
中,我想访问Node
的元素并将它们添加到ArrayList
中。之后,使用循环,它将以相反的顺序打印.
public void reverse(){
Node e = head;
ArrayList<E> s = new ArrayList<E>();
while(e!=null){
s.add(e.element);
e= e.next;
}
for (int i = count-1; i >= 0; i--) {
System.out.print (""+s.get(i));
}
System.out.println("");
}
但是,s.add(e.element) ;
给出了一个错误。
这是节点 class,
public class Node<E> {
E element;
Node<E> next;
public Node(E element){
this.element=element;
next =null;
}
}
和链表class
public class LinkedListStack<E> implements Stack<E>{
Node<E> head;
Node<E> tail;
int count=-1;
public LinkedListStack() {
head=tail=null;
}
public void push(E element) {
Node<E> newNode = new Node<>(element);
if(count==-1){
head=tail=newNode;
count++;
}
else{
newNode.next=head;
head = newNode;
}
count++;
}
public void reverse(){
Node e = head;
ArrayList<E> s = new ArrayList<E>();
while(e!=null){
s.add(e.element);
e= e.next;
}
for (int i = count-1; i > 1; i--) {
System.out.print (""+s.get(i));
}
System.out.println("");
}
}
如果有人解释添加对象的错误,我将不胜感激
ArrayList 中的元素详细信息。
您正在使用通用节点类型作为原始类型:
Node e = head;
应该是
Node<E> e = head;