Java中带有超时/逐出的列表
Java中是否有方法创建一个Java中带有超时/逐出的列表,java,list,collections,Java,List,Collections,Java中是否有方法创建一个列表实现,该实现对列表中包含的项具有超时/逐出策略?大致如下: List<SomeObject> myList = new TimeoutList<>(10, TimeUnit.SECONDS); List myList=new TimeoutList(10,TimeUnit.SECONDS); 这样,输入列表的项目将在给定时间后自动退出。我知道番石榴缓存,但缓存是一个地图,不会维护输入项目的顺序。这是否回答了您的问题?如果访问不再包含的索
列表
实现,该实现对列表中包含的项具有超时/逐出策略?大致如下:
List<SomeObject> myList = new TimeoutList<>(10, TimeUnit.SECONDS);
List myList=new TimeoutList(10,TimeUnit.SECONDS);
这样,输入列表的项目将在给定时间后自动退出。我知道番石榴缓存,但缓存是一个
地图
,不会维护输入项目的顺序。这是否回答了您的问题?如果访问不再包含的索引,会发生什么情况?五分钟后,索引1中的项目是否与原来的项目不同,因为原来的项目被逐出,而索引2中的项目又变成了索引1?如果您迭代列表,并且在迭代期间达到了过期时间,会发生什么情况?从外观上看,这个问题他并不担心。如果没有被逐出,他想维持秩序。在番石榴缓存旁边维护一个缓存键的LinkedHashSet
怎么样?添加一个删除侦听器,每当发生逐出时,该侦听器将从链接的哈希映射中删除。确保在向缓存添加内容时将密钥放入链接哈希集中。