请教一个代码设计的问题

2019-07-18 10:07:45 +08:00
 szhgoldeneye

现在我有一堆对象的集合,该集合要做到

目前只是简单得放在内存里,用 ArrayList 来做,搜索因为有速度要求,用了 Future 做并发查询

想问下这种情形下有没有什么好的实现方式

1531 次点击
所在节点    问与答
7 条回复
momocraft
2019-07-18 10:19:46 +08:00
随便线程安全的 iterable 容器都可以?反正只是全遍历搜索
carlclone
2019-07-18 10:25:48 +08:00
为何需要全遍历搜索?
Macolor21
2019-07-18 10:33:55 +08:00
增删用 ArrayList ? ConcurrentHashMap 应该可以满足
szhgoldeneye
2019-07-18 10:34:43 +08:00
@carlclone 目前没法对这些集合数据做聚类这种 现在的场景下只能全遍历
szhgoldeneye
2019-07-18 10:34:55 +08:00
@Macolor21 好的 我了解一下
Mirt
2019-07-18 11:37:34 +08:00
如果可以对对象排序的话 查询效率会高一些
如果频繁增减的话 使用链表结构不要用数组结构好一些
如果有多线程同时操作用线程安全的集合
micean
2019-07-18 12:02:35 +08:00
场景描述不是很清晰,又要并发安全又要遍历,用 ConcurrentSkipListSet 怎么样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/584015

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX