【问题标题】:Convert from Queue to ArrayList [duplicate]从队列转换为 ArrayList [重复]
【发布时间】:2014-01-09 14:17:14
【问题描述】:

我想将包含数字和运算符的队列更改为 ArrayList。 我正在用 Java 编写代码。

目前我的队列定义如下:

Queue outputQueue = new LinkedList();

队列当前包含以下数据:

[1, 9, 3, /, 4, 3, -, 2, /, *, +]

我希望这样做主要是为了可以使用 RPN 来计算计算结果。

有没有办法做到这一点?

提前感谢您的帮助:)

【问题讨论】:

  • 我不明白你为什么需要它成为ArrayList
  • 嗯,一个简单的while循环可以吗?

标签: java arrays list arraylist casting


【解决方案1】:
ArrayList list = new ArrayList(outputQueue);

【讨论】:

    【解决方案2】:

    这样做

    List list = new ArrayList(outputQueue);
    

    【讨论】:

      【解决方案3】:

      虽然其他答案是创建ArrayList 的正确方法。您可以简单地将其转换为List。这将保留相同的底层数据结构 (LinkedList),但您可以将其用作 List。

      Queue outputQueue = new LinkedList();
      List list = (List)outputQueue;
      

      天气与否这是否是一种更好的方式来满足您的需求取决于您使用列表的方式。您必须决定创建一个新的ArrayList 的成本是否值得访问数据的潜在速度增加。看看When to use LinkedList<> over ArrayList<>?

      【讨论】:

        【解决方案4】:

        这样的代码

        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);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-05-07
          • 1970-01-01
          • 2015-10-22
          • 2011-12-09
          • 2012-05-03
          • 2014-05-15
          • 2019-03-15
          • 2014-01-09
          相关资源
          最近更新 更多