java - 在 gs-collections 库中寻找排序堆和并发队列

标签 java collections queue heap gs-collections

三个问题:

  1. 我被告知 gs-collections 库包含队列实现,但我在 http://www.goldmansachs.com/gs-collections/javadoc/5.1.0/ 中找不到它们。它们存在吗?如果是这样,我应该看哪些类(class)?

  2. 对于排序堆类也是如此

  3. (问题不大)有人对 gs-collections 库有任何经验吗?这对我来说是全新的,所以如果您对它特别擅长哪些任务有任何经验和建议,请分享

提前致谢

最佳答案

  1. 不,GS Collections 还没有队列实现。您可以在 issue tracker 中提出请求.
  2. 不,GS Collections 还没有排序堆。作为支持的第一步,GS Collections 可以有一个 QueueAdapter,它可以包装 java.util.PriorityQueue 但添加额外的 API。
  3. 我是 GS Collections 的开发人员。我们正在关注 gs-collections 标签并可以提供帮助。这是一个广泛的问题,因此我将在这里写一个简短的答案,如果您想进一步讨论,可以写一个新的顶级问题。

GS Collections 在以下情况下特别有用:

  • 您需要一个 JCF 或其他集合库未提供的容器,例如 Multimap、Bag、BiMap、原始集合或不可变集合。
  • 您使用大量内存运行 JVM/您有 GC 问题/您需要内存高效的容器。例如,UnifiedMap 使用 HashMap 的一半内存,UnifiedSet 使用 HashSet 的四分之一内存。 Multimap、Bag 和 BiMap 构建在这些更高效的结构之上。
  • 您希望为您的 Collection 提供丰富的 API。大多数集合实现 RichIterable它提供了许多迭代模式方法。

关于java - 在 gs-collections 库中寻找排序堆和并发队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27706930/

相关文章:

php - Magento 自定义集合阻止正确的 Massaction 复选框选择

java - 无法预填充 Room 数据库并在 RecyclerView 上查看它

java - 如何使用 SVNkit 获取特殊文件的所有修订版(不是最新版)?

java - 只是好奇...更好的方法复制/克隆 ArrayList 的一部分?

collections - 如何在迭代集合的同时修改集合?

c++ - 如何将 std::queue<char> 复制到 std::string?

未完成任务的 Python 队列计数

python - 从主代码到多个线程(有套接字,如果这很重要的话)进行通信

java - 性能: ArrayBlockingQueue vs manaul implementation with List

java - 对于 Marshmallow 之上的设备,在 Android 中以编程方式断开调用