Indexing java中的toString逆序

Indexing java中的toString逆序,indexing,linked-list,reverse,tostring,Indexing,Linked List,Reverse,Tostring,我的方法toString()应该返回堆栈的字符串表示形式。字符串表示法由堆栈元素按存储顺序组成,用方括号括起来。我的问题是我现在返回[element0,element1,element2,element3,element4],所以我想知道是否有一种简单的方法可以按相反的顺序返回字符串,即返回[element4,element3,element2,element1,element0] public class Stack<E> implements IStack<E> {

我的方法toString()应该返回堆栈的字符串表示形式。字符串表示法由堆栈元素按存储顺序组成,用方括号括起来。我的问题是我现在返回[element0,element1,element2,element3,element4],所以我想知道是否有一种简单的方法可以按相反的顺序返回字符串,即返回[element4,element3,element2,element1,element0]

public class Stack<E> implements IStack<E> {
    public String toString() {
    String str = "[";
    if (head != null) {
        str += head.getmElement();
        Node<E> tempNode = head.getmNextNode();
        while (tempNode !=  null) {
            str += ", " + tempNode.getmElement();
            tempNode = tempNode.getmNextNode();
        }
    }
    str += "]";
    return str; }
公共类堆栈实现IStack{
公共字符串toString(){
字符串str=“[”;
if(head!=null){
str+=head.getmElement();
Node tempNode=head.getmNextNode();
while(tempNode!=null){
str+=”,“+tempNode.getmElement();
tempNode=tempNode.getmNextNode();
}
}
str+=“]”;
返回str;}
节点类:

public class Node<E> {
private E mElement;
private Node<E> mNextNode;

Node(E data) {

    this.setmElement(data);
}
public E getmElement() {
    return this.mElement;
}
public void setmElement(E element) {
    this.mElement = element;
}
public Node<E> getmNextNode()
{
    return this.mNextNode;
}
public void setmNextNode(Node<E> node)
{
    this.mNextNode = node;
}}
公共类节点{
私人电子融合;
私有节点mNextNode;
节点(E数据){
此设置(数据);
}
公共E getmElement(){
把这个还给我;
}
公共无效设置(E元素){
此.mElement=元素;
}
公共节点getmNextNode()
{
返回此.mNextNode;
}
public void setmNextNode(节点节点)
{
this.mNextNode=节点;
}}

您可以使用
StringBuilder
在开头插入每个元素,而不是附加它:

公共字符串toString(){
StringBuilder sb=新的StringBuilder(“[”);
if(head!=null){
某人附加(head.getmElement());
Node tempNode=head.getmNextNode();
while(tempNode!=null){
sb.insert(1,“,”).inser(1,tempNode.getmElement());
tempNode=tempNode.getmNextNode();
}
}
某人加上(“]”);
使某人返回字符串();
}

您可以使用
StringBuilder
在开头插入每个元素,而不是附加它:

公共字符串toString(){
StringBuilder sb=新的StringBuilder(“[”);
if(head!=null){
某人附加(head.getmElement());
Node tempNode=head.getmNextNode();
while(tempNode!=null){
sb.insert(1,“,”).inser(1,tempNode.getmElement());
tempNode=tempNode.getmNextNode();
}
}
某人加上(“]”);
使某人返回字符串();
}

您的列表仅向前链接,因此您可以使用临时数组列表并将每个元素添加到索引0。

您的列表仅向前链接,因此您可以使用临时数组列表并将每个元素添加到索引0