gpt4 book ai didi

java - ArrayDeque 大小和内容

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

我有以下代码。

    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 与打印其他数组列表不同吗?

最佳答案

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

您可以使用迭代器打印元素而不修改队列:

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

关于java - ArrayDeque 大小和内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6636773/

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