Java 从队列转换为ArrayList
我想将包含数字和运算符的队列更改为ArrayList。 我正在用Java编写代码 目前我的队列定义如下:Java 从队列转换为ArrayList,java,arrays,list,arraylist,casting,Java,Arrays,List,Arraylist,Casting,我想将包含数字和运算符的队列更改为ArrayList。 我正在用Java编写代码 目前我的队列定义如下: Queue outputQueue = new LinkedList(); 队列当前包含以下数据: [1, 9, 3, /, 4, 3, -, 2, /, *, +] 我希望这样做主要是为了使用RPN来计算计算结果 有办法做到这一点吗 提前感谢您的帮助:)请这样做 List list = new ArrayList(outputQueue); Queue outputQueue = n
Queue outputQueue = new LinkedList();
队列当前包含以下数据:
[1, 9, 3, /, 4, 3, -, 2, /, *, +]
我希望这样做主要是为了使用RPN来计算计算结果
有办法做到这一点吗
提前感谢您的帮助:)请这样做
List list = new ArrayList(outputQueue);
Queue outputQueue = new LinkedList();
outputQueue.add("1");
outputQueue.add("9");
outputQueue.add("3");
outputQueue.add("/");
outputQueue.add("4");
outputQueue.add("3");
outputQueue.add("-");
outputQueue.add("2");
outputQueue.add("*");
outputQueue.add("+");
ArrayList arraylist = new ArrayList(outputQueue);
而其他答案是创建
ArrayList
的正确方法。您只需将其强制转换为列表
。这将保留相同的底层数据结构(LinkedList
),但您可以将其用作列表
Queue outputQueue = new LinkedList();
List list = (List)outputQueue;
天气与否这是一个更好的方法来做你需要的取决于你如何使用列表。您必须决定创建一个新的ArrayList
的成本是否值得访问数据的潜在速度提高。请看。这样的代码
List list = new ArrayList(outputQueue);
Queue outputQueue = new LinkedList();
outputQueue.add("1");
outputQueue.add("9");
outputQueue.add("3");
outputQueue.add("/");
outputQueue.add("4");
outputQueue.add("3");
outputQueue.add("-");
outputQueue.add("2");
outputQueue.add("*");
outputQueue.add("+");
ArrayList arraylist = new ArrayList(outputQueue);
我不明白为什么你需要它是一个
ArrayList
。嗯,一个简单的while循环就可以了?