java.util.concurrent.LinkedBlockingDeque源码学习(三)

LinkedBlockingDeque中的重要方法(续):

16. E takeFirst()==E take()
17. E takeLast()
在锁定状态下删除处在队列头/尾的节点。调用unlinkFirst/unlinkLast方法。如果队列为空则当前线程进入等待区
18. void addFirst(E e)== void push(E e)
19. void addLast(E e) ≈ boolean add(E e)
在锁定状态下插入一个节点到队列头/尾。调用offerFirst/offerLast,如果队列已满,则抛出IllegalStateException异常
20. E removeFirst()==E remove()==E pop()
21. E removeLast()
在锁定状态下删除处在队列头/尾的节点。调用pollFirst/ pollLast,如果被删除节点为null,则抛出NoSuchElementException异常,否则返回被删除节点
22. E peekFirst()
23. E peekLast()
在锁定的状态下获取头尾节点中的元素
24. E getFirst()
25. E getLast()
在锁定的状态下获取头尾节点中的元素。调用peekFirst/removeLast方法,如果元素为null,则抛出NoSuchElementException异常,否则返回元素
26. int size()
队列中节点的个数。在锁定的状态下返回count字段的值
27. boolean contains(Object o)
队列中是否存在指定的元素
28. void clear()
清空当前队列。first和last置空,count置0,同时唤醒所有等待notFull条件的线程

你可能感兴趣的:(java)