Java 队列方法的差异
为什么队列有两种不同的方法,分别用于检索元素和删除元素 检索方法:元素和元素峰值 移除方法:元素轮询和元素移除 除了第一种情况下的返回类型差异之外,它们之间有什么区别?根据javadoc:Java 队列方法的差异,java,methods,data-structures,queue,fifo,Java,Methods,Data Structures,Queue,Fifo,为什么队列有两种不同的方法,分别用于检索元素和删除元素 检索方法:元素和元素峰值 移除方法:元素轮询和元素移除 除了第一种情况下的返回类型差异之外,它们之间有什么区别?根据javadoc: Throws exception Returns special value Insert add(e) offer(e) Remove remove() poll() 这里的特殊值是指
Throws exception Returns special value
Insert add(e) offer(e)
Remove remove() poll()
这里的特殊值是指:
返回:
如果元素已添加到此队列,则为true,否则为false
关键是队列可以有预定义的最大长度,如果您试图在队列为空时插入它,您可以使用add and get Exception或offer and get false returned或可能为空,并且您想要删除一个元素,您应该真正阅读JavaDoc以了解: : 检索并删除此队列的头。此方法与轮询的不同之处在于,如果此队列为空,它将引发异常 : 检索但不删除此队列的头。此方法与peek的不同之处在于,如果此队列为空,它将引发异常 强调地雷。RTFM: