Java 中 add/offer...等区别

前言:

今天在用到offer中,意识到它的用法和add有所重复,所以在这里罗列出了一些重复方法的具体区别

1.add()和offer()区别:

add()和offer()都是向列表中添加一个元素。一些列表有大小限制,因此如果想在一个满的列表中加入一个新项,调用add()方法就会抛出unchecked异常,而调用offer()方法会返回false。因此就可以在程序中进行有效的判断。

2.remove()和poll()区别:

remove()和poll()方法都是从列表中删除第一个元素。如果列表元素为空,调用remove()的行为与Collection接口的版本相似会抛出一个NoSuchElementException异常,但是新的poll()方法在用空集合调用时只是返回null。因此新的方法更适合容易出现异常条件的情况。

3.element()和peek()区别:

element()和peek()用于在列表的头部查询元素。与remove()方法类似,在列表元素为空时element()会抛出一个NoSuchElementException异常,而peek()方法返回一个null。

4.pop()和poll()区别:

pop()是栈结构的实现类的方法,表示返回栈顶元素,同时该元素从栈中删除,当栈中没有元素时,调用该方法会发生的异常,返回一个NoSuchElementException的异常,类似于removeFirst()方法;而poll()是队列数据结构实现类的方法,从队首获取元素,同时获取的这个元素将从原队列中删除。