gpt4 book ai didi

java - 使用堆栈反转 ArrayList

转载 作者:行者123 更新时间:2023-12-02 05:38:11 26 4
gpt4 key购买 nike

我应该将 Arraylist 送入堆栈,然后显然从该堆栈构建一个列表。从理论上讲,这意味着列表应该颠倒,是吗?我以为我已经把一切都囊括在内了,但我的输出是这样的:

 [1, 2, 3, 4, 5]
AAAAANNNDDDDD REVERSE!
[1, 2, 3, 4, 5]

很明显我在某个地方犯了错误,但我不知道在哪里。代码如下,但请注意,我对此不太擅长,所以如果有什么东西严重冒犯了您,但实际上不是问题,我希望它不要成为讨论的焦点。

package stackclass;

import java.util.ArrayList;
import java.util.Stack;

public class StackClass
{
static ArrayList<String> list = new ArrayList();
static Stack<String> popper = new Stack();

public static ArrayList<String> reverse(ArrayList<String> n)
{
for(int i = 0; i != n.size();)
{
popper.push(n.get(n.size() - 1));
n.remove(n.size() - 1);
}
for(int i = 0; i != popper.size();)
{
n.add(popper.pop());
}
return n;
}
public static void main(String[] args)
{
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");

System.out.println(list);

System.out.println("AAAAANNNDDDDD REVERSE!");

ArrayList n = reverse(list);

System.out.println(n);
}
}

感谢任何和所有帮助。

最佳答案

public static ArrayList<String> reverse(ArrayList<String> n)
{
while(!n.isEmpty())
{
popper.push(n.get(0));
n.remove(0);
}
while(!popper.isEmpty()){
n.add(popper.pop());
}

return n;
}

这有效。

关于java - 使用堆栈反转 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24771909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com