Java ConcurrentLinkedQueue迭代元素顺序?

时间:2015-06-21 09:11:36

标签: java

当前是否在for循环中处理元素,即队列的头部?

private Queue<User> users = new ConcurrentLinkedQueue<User>();

for(User u : users){
    users.remove(); // <- is this removing the currently iterated element?
}

或者在这里使用 users.remove(u)

1 个答案:

答案 0 :(得分:2)

是的,这对ConcurrentLinkedQueue<E>来说是正确的,因为它按FIFO顺序对元素进行排序。

来自 docs

  

此队列命令元素FIFO(先进先出)。的头   queue是队列中最长时间的元素。该   队列的尾部是已经在队列中的元素   最短的时间。

相关问题