gpt4 book ai didi

java : queue with maximum capacity

转载 作者:行者123 更新时间:2023-12-01 06:19:29 28 4
gpt4 key购买 nike

Possible Duplicate:
Size-limited queue that holds last N elements in Java
Java - Ring Buffer

我对有界上方队列感兴趣,每当遇到对象插入时,如果插入会导致“溢出”,就会首先删除最旧的对象。我希望加法是 O(1) 并且内存使用量尽可能少。我正在考虑在 LinkedList 上重写 add 方法,但理想情况下我会实现一个循环的、基于数组的列表,并捕获前/后指针。每当加法超过容量时,前指针前进,然后后指针前进。有类似的实现吗?

最佳答案

链表会浪费内存,因为下一个指针使用内存,而 ArrayList 则不会。

高性能实现基于 ArrayList 或更好的数组。如果循环缓冲区大小是固定的,则可以使用数组。

我使用内部数组实现了一个循环缓冲区,带有开始和结束位置索引变量。我没有找到循环列表/缓冲区的实现,这正是我想要的。

实现起来并不困难,但我建议使用大量单元测试用例,以证明您的循环缓冲区按预期工作。

关于java : queue with maximum capacity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13731677/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com