Java 保存按时间排序的最后10个对象列表的最佳数据结构是什么
我需要一个数据结构队列、哈希映射或堆栈的链接列表,以便能够保存用户数据的最后10个对象,如果用户尝试添加项目编号11,则应删除项目编号0,并确保列表仅包含最后10个项目 是否有任何库或算法可以实现这一点,或者我必须自己实现算法?我建议 默认情况下,树集按您放置的元素的自然顺序排序,但也可以传递您自己的 在==10的情况下,您可以随时检查设备是否已满负荷 然后,如果需要添加第11个元素,可以先添加,然后添加。您可以使用Google Guava库中的。根据文件: 逐出队列必须配置为最大大小。每一次 元素添加到完整队列时,队列将自动删除其 头部元素Java 保存按时间排序的最后10个对象列表的最佳数据结构是什么,java,android,Java,Android,我需要一个数据结构队列、哈希映射或堆栈的链接列表,以便能够保存用户数据的最后10个对象,如果用户尝试添加项目编号11,则应删除项目编号0,并确保列表仅包含最后10个项目 是否有任何库或算法可以实现这一点,或者我必须自己实现算法?我建议 默认情况下,树集按您放置的元素的自然顺序排序,但也可以传递您自己的 在==10的情况下,您可以随时检查设备是否已满负荷 然后,如果需要添加第11个元素,可以先添加,然后添加。您可以使用Google Guava库中的。根据文件: 逐出队列必须配置为最大大小。每一次
您可以使用
LinkedHashMap
轻松创建自己的缓存机制
记住这一点,您可以创建一个由LinkedHashMap
支持的新缓存对象,该对象将被RemoveedStantry
覆盖,以检查您想要的条件
由于每次调用
put
和putAll
时都会调用Removeedestentry
,因此这将自动刷新缓存并删除不需要的条目。如果您的数据不包含重复项,您可以使用它,但不应包含重复项请参阅这应该是可接受的答案-不需要第三方库,现在已经有了一种特殊的方法。