Java 从数组中反转linkedList

Java 从数组中反转linkedList,java,linked-list,Java,Linked List,我正在尝试将反向链接列表从数组添加回链接列表 public void reverse(){ //Calling function to take a linked list and put it inside an array int[] myArray = this.toArray(); //Populate list using array for (int i= 0; i < myArray.length; i

我正在尝试将反向链接列表从数组添加回链接列表

public void reverse(){
        //Calling function to take a linked list and put it inside an array
        int[] myArray = this.toArray();
    //Populate list using array             
    for (int i= 0; i < myArray.length; i++){

            this.addHead(myArray[i]);

        }

        System.out.println(this.toString());

    }
我希望得到的结果是调用我将从中获得的
reverse()

[1,7,7,6]

链接到链接列表

6,7,7,1


不知道要实现什么,但是如果给出了初始列表,就不需要进行数组转换。您可以按照以下思路实现一些功能:

public <T> List<T> reverseList( List<T> list )
    {
        List<T> newList = new ArrayList<T>();
        for( int i = 0; i < list.size(); i++ )
        {
            newList.add( list.get( list.size() - ( i + 1 ) ) );
        }

        return newList;
    }
公共列表反向列表(列表列表)
{
List newList=newarraylist();
对于(int i=0;i

如果出于某种原因绝对需要数组,您可以类似地使用它。创建一个数组,通过反向索引顺序填充。

可能错误在
addHead
方法中。我不理解第一句话中所述的目标:“我正在尝试将反向链接列表从数组添加回链接列表。”我想您正试图在自定义链接列表上实现反向()方法。我看不出阵列应该在这里扮演什么角色。
public <T> List<T> reverseList( List<T> list )
    {
        List<T> newList = new ArrayList<T>();
        for( int i = 0; i < list.size(); i++ )
        {
            newList.add( list.get( list.size() - ( i + 1 ) ) );
        }

        return newList;
    }