Collections 反向单链表?

Collections 反向单链表?,collections,Collections,在不同的网站上,我在寻找用java实现颠倒顺序的程序 关于链表(单链表和双链表)。我登陆了不同的网站,比如 (一)http://geek-o-pedia.blogspot.com/2007/07/how-would-you-reverse-singly-linked.html 2)http://stackoverflow.com/questions/354875/reversing-a-linked-list-in-java-recursively PointA根据我的理解,当您将链表类作为 程

在不同的网站上,我在寻找用java实现颠倒顺序的程序 关于链表(单链表和双链表)。我登陆了不同的网站,比如

(一)http://geek-o-pedia.blogspot.com/2007/07/how-would-you-reverse-singly-linked.html 2)http://stackoverflow.com/questions/354875/reversing-a-linked-list-in-java-recursively

PointA根据我的理解,当您将链表类作为 程序假设我们可以访问我们不能访问的节点类(因为它是链表中的私有内部类)

B点——除此之外,本程序将永久颠倒源链接列表的顺序。所以当我们反复讨论这个问题时 我们总是以相反的顺序得到元素

请让我知道以上两点是否正确

所以我试着自己做

--反转单链表

LinkedList list1 = new LinkedList();
    list1.add(1);
    list1.add(2);
    list1.add(3);
    list1.add(4);
    list1.add(5);

LinkedList reverseList1 = new LinkedList();

int size= list1.size();

// below loop will revrse the order of source linked list i.e list1

for(int i =size-1;i>=0;i--)
{
reverseList1.add(size-i-1, list1.get(i));
}
我只是想确定上述方法是否正确,因为我在互联网上找不到这些方法,我发现这些方法非常简单。在任何地方我都能找到类似于link1和link2的方法


也在上发布,但没有得到正确的答案。

您尝试过使用其中任何一种吗

Collections.sort(list, Collections.reverseOrder(cmp));
or
Collections.reverse(list);

这似乎很好用。但是,
add
方法不需要第1个参数-add在末尾已经插入(您也可以使用相同的
addLast

而且,多次使用
get(i)
也是没有效率的。我将迭代第一个列表(使用foreach或迭代器-),并为每个元素调用
addFirst

或者,按照panzerschreck的建议,使用集合。反转,这确实是最好的方法