java 队列 remove,在 Queue 中 poll()和 remove()有什么区别

java面试

在 Queue 中 poll()和 remove()有什么区别

相同点:都是返回第一个元素,并在队列中删除返回的对象。

不同点:如果没有元素 poll()会返回 null,而 remove()会直接抛出 NoSuchElementException 异常。

Queue-poll

public static void main(String[] args) {

Queue queue = new LinkedList();

queue.offer("string"); // add

System.out.println(queue.poll());

System.out.println(queue.poll());

System.out.println(queue.size());

}

返回

string

null

0

Queue-remove

用remove时

public static void main(String[] args) {

Queue queue = new LinkedList();

queue.offer("string"); // add

System.out.println(queue.poll());

System.out.println(queue.remove());

System.out.println(queue.size());

}

报NoSuchElementException的异常

Exception in thread "main" string

java.util.NoSuchElementException

at java.util.LinkedList.removeFirst(LinkedList.java:270)

at java.util.LinkedList.remove(LinkedList.java:685)

at mytest.Mytest.main(Mytest.java:20)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值