当前正在for循环中处理的元素,队列的头部?Java ConcurrentLinkedQueue迭代元素顺序?
private Queue<User> users = new ConcurrentLinkedQueue<User>();
for(User u : users){
users.remove(); // <- is this removing the currently iterated element?
}
或者在这里使用users.remove(u)
最好?
[javadoc remove()](http://docs.oracle.com/javase/7/docs/api/java/util/Queue.html#remove%28%29)说:*检索并移除该队列的头部*。什么不清楚? –
我在单独的线程中使用了多个for循环,并且想知道队列的头是否是下一个元素或迭代的元素。 – ThatGuy343
队列的头部是队列的头部。就像当人们排队等候公车时,第一个人就是队列的头部。无论你是否在队列上迭代都不会改变“head”的定义。 –