当前位置:  开发笔记 > 编程语言 > 正文

Java相当于std :: deque

如何解决《Java相当于std::deque》经验,为你挑选了1个好方法。

我是一个来自C++/STL的相对较新的Java程序员,我正在寻找具有这些特性的类(C++ std :: deque具有,据我所知):

    O(1)在开始/结束时插入/移除的性能

    O(1)按索引查找的性能

    是可增长的集合(不需要固定大小的边界)

是否有Java等同于此?我找到了Java 1.6 [ArrayDeque]类,它具有插入/删除和可增长的特性,但似乎没有按索引查找,除非你调用toArray(),它不是O(1).



1> bajafresh4li..:

Java的Primitive Collections有一个带有get(int idx)方法的ArrayDeque.

http://sourceforge.net/projects/pcj

我不能保证这个项目的质量.

另一种方法是获取JDK ArrayDeque源并自己添加get(int idx)方法.应该比较容易.

编辑:如果你打算以高度多线程的方式使用deque,我会去"修补JDK的ArrayDeque"路线.此实现已经过彻底测试,并在新的java.util.concurrent ForkJoin框架中使用.

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有