gpt4 book ai didi

java - 迭代 linkedhashmap 但超过一定范围

转载 作者:行者123 更新时间:2023-12-01 13:49:38 25 4
gpt4 key购买 nike

所以我知道如何从一开始就迭代整个 linkedhashmap,但是如果我只想链接其中的某个部分怎么办? IE:我想从末尾开始,只返回 4 个元素。我该怎么做,这可能吗?

最佳答案

您正在搜索的是 ListIterator这将允许您在列表中向后迭代。不幸的是,LinkedHashMap 不保存对前一个元素的引用,因此不提供此迭代器。

因此,您最终会得到两个解决方案。一,您实现查找最后 X 个元素的方法:假设您持有一个大小为 X 的数组(循环缓冲区),并将您看到的最后 X 个元素保存在那里。如果您频繁调用此方法并且 X 远小于 map 的大小,则此解决方案效率相当低。

第二个解决方案是保留一个 HashMap 而不是 LinkedHashMap 和一个额外的 List 来维护插入顺序。例如。一个ArrayList或一个LinkedList,它们提供一个ListIterator,从而实现向后迭代。

关于java - 迭代 linkedhashmap 但超过一定范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20068430/

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