szhgoldeneye
V2EX  ›  问与答

请教一个代码设计的问题

  •  
  •   szhgoldeneye · Jul 18, 2019 · 2758 views
    This topic created in 2669 days ago, the information mentioned may be changed or developed.

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

    • 随时可增删
    • 随时全遍历搜索

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

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

    7 replies  •  2019-07-18 12:02:35 +08:00
    momocraft
    momocraft
    Jul 18, 2019
    1
    随便线程安全的 iterable 容器都可以?反正只是全遍历搜索
    carlclone
    carlclone
    Jul 18, 2019
    2
    为何需要全遍历搜索?
    Macolor21
    Macolor21
    Jul 18, 2019 via iPhone
    3
    增删用 ArrayList ? ConcurrentHashMap 应该可以满足
    szhgoldeneye
    szhgoldeneye
    OP
    Jul 18, 2019
    4
    @carlclone 目前没法对这些集合数据做聚类这种 现在的场景下只能全遍历
    szhgoldeneye
    szhgoldeneye
    OP
    Jul 18, 2019
    5
    @Macolor21 好的 我了解一下
    Mirt
    Mirt
    Jul 18, 2019 via iPhone
    6
    如果可以对对象排序的话 查询效率会高一些
    如果频繁增减的话 使用链表结构不要用数组结构好一些
    如果有多线程同时操作用线程安全的集合
    micean
    micean
    Jul 18, 2019
    7
    场景描述不是很清晰,又要并发安全又要遍历,用 ConcurrentSkipListSet 怎么样
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1904 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 07:39 · PVG 15:39 · LAX 23:39 · JFK 02:39
    ♥ Do have faith in what you're doing.