@Test
public void queuedemo(){
ConcurrentLinkedQueue<Integer> queue = new ConcurrentLinkedQueue();
for (int i = 0; i < 5; i++){
queue.add(i);
}
//获取元素 不移除头结点
for (int i =0; i < 3; i++){
System.out.println("peek: " + queue.peek());
}
//返回在此队列元素上以恰当顺序进行迭代的迭代器
Iterator<Integer> iterator = queue.iterator();
while (iterator.hasNext()){
System.out.println("iterator: " + iterator.next());
}
//获取元素并且在队列中移除,如果队列为空返回null
System.out.println("poll: " + queue.poll());
//删除队首元素,如果队列为空返回NoSuchElementException
Integer remove = queue.remove();
System.out.println("remove: " + remove);
System.out.println(queue.peek());
remove = queue.remove();
System.out.println("remove: " + remove);
System.out.println(queue.peek());
}
控制台打印:
peek: 0
peek: 0
peek: 0
iterator: 0
iterator: 1
iterator: 2
iterator: 3
iterator: 4
poll: 0
remove: 1
2
remove: 2
3
Process finished with exit code 0