【问题标题】:ArrayDeque size and contentsArrayDeque 大小和内容
【发布时间】:2011-10-01 23:32:30
【问题描述】:

我有以下代码。

    int clock;
    ArrayDeque<Integer> q = new ArrayDeque<Integer>();
    int customer = 1;
    Random r = new Random();

    for (clock = 0; clock <= 99; clock++) { 
        q.add(customer);
        customer++;
    }

根据我目前所知,它应该给我一个列表,或者在本例中是一个双端队列,大小为 100,有 100 个客户。

当我打印尺寸时,它验证了我的理论,但是当我打印内容时,它只返回索引 0-49。

    for (int i = 0; i < q.size() ; i++) {
        System.out.println("index "+ i + " "+ q.remove());
    }

打印arraydeque与打印其他arraylists有什么不同吗?

【问题讨论】:

    标签: java arraydeque


    【解决方案1】:

    问题在于您与 q.size() 进行比较,每次迭代都会减小。这是因为 remove() 实际上修改了队列。

    您可以在不使用迭代器修改队列的情况下打印元素:

    int i = 0;
    for (int elem : q) {
        System.out.println("index "+ i++ + " "+ elem);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-22
      • 1970-01-01
      • 2022-10-24
      相关资源
      最近更新 更多