cuốn sách gpt4 ai đã làm

java - 为什么我们在 Deque 中有 offer(E e) 和 offerLast(E e) 方法,即使它们解决的是相同的目的

In lại Tác giả: Walker 123 更新时间:2023-11-29 04:20:40 27 4
mua khóa gpt4 Nike

我试图理解,为什么我们需要 Deque TRONG OfferOfferLast 方法,因为这两种方法都在Deque 的结尾/尾部。它有什么意义?

câu trả lời hay nhất

Queue 接口(interface)是在Java 5 中添加的。它定义了offer。方法,在末尾添加一个元素。

(offer 方法和 thêm vào 方法都返回 boolean 值。它们的区别在于 thêm vào 允许拒绝该元素并仅在该元素是时才返回 false已经存在于集合中。offer 方法可以因为其他原因拒绝该元素,例如队列已满。)

有了 Queue.offer,语义上几乎没有问题,因为元素通常被添加到队列的尾部并从头部移除。

Deque接口(interface)是在 Java 6 中添加的。双端队列允许在头部和尾部添加和删除元素,因此 Deque 定义了 offerFirstofferLast 方法。 deque 也是一个队列,所以 Deque Đúng Queue 的子接口(interface)。因此它继承了 Queue của offer 方法。这就是 DequeofferofferLast 结束的方式。

我们或许可以在不添加 offerLast 的情况下解决问题,但这会在 Deque 接口(interface)中留下不对称性。许多操作同时作用于头部和尾部(add、get、offer、peek、poll、remove)所以它们都具有 -first 和 -last 变体是有意义的,即使这增加了冗余。这种冗余也出现在其他 Queue 方法中,例如 thêm vàoaddLast,peekpeekFirst ,pollpollFirst,以及 removeremoveFirst.

关于java - 为什么我们在 Deque 中有 offer(E e) 和 offerLast(E e) 方法,即使它们解决的是相同的目的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49425410/

27 4 0
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress