gpt4 book ai didi

java - 在 Java 中为我的算法选择正确的数据结构

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:14:54 28 4
gpt4 key购买 nike

今天我需要选择最有效的数据结构来满足我在 Java 中的需求。基本上我有一个算法有一组 <Integer, Object> .

  • 首先多个线程创建这个集合的一些,然后它们被合并,按整数排序并删除最终重复的对象结果集。
  • 比对每个元素 x <Integer, Object>我需要获取Integer小于x.Integer的y个元素

由于第二点与算法相关,您会选择在 Java 中使用哪种数据结构?

最佳答案

你想要一个 NavigableMap 比如 TreeMap 或者 ConcurrentSkipListMap

注意:TreeMap 不是线程安全的,但是如果您在 TreeMap 的本地副本中为每个线程收集数据并在完成时合并结果,则可能会更高效。也就是说,您可以减少竞争。

注2:您只需要一个TreeMap 来执行小于 比较。进一步的改进可能是使用 HashMap 来收集每个线程中的数据,并将结果合并到 TreeMap 中以执行搜索。

关于java - 在 Java 中为我的算法选择正确的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48659115/

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