相关疑难解决方法(0)

Java相当于std :: deque

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

  1. O(1)在开始/结束时插入/移除的性能
  2. O(1)按索引查找的性能
  3. 是可增长的集合(不需要固定大小的边界)

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

java collections deque

11
推荐指数
1
解决办法
2103
查看次数

理解作为Java开发人员在C++中的Map

在Java中,我们使用了hashCode()和equals()等方法,地图使用这些方法来标识每个对象.C++没有这样的基本方法,默认情况下每个对象都实现.

地图现在如何使用自定义对象作为键值?

编辑:没有重复,因为它特别针对那些特定于Java的接口方法,以前没有用C++做过的人会寻找

c++ java equals map hashcode

7
推荐指数
2
解决办法
1832
查看次数

Amazon S3s 密钥背后的数据结构(过滤数据结构)

我想实现一个类似于 Amazon S3 的查找功能的数据结构。就上下文而言,Amazon S3 将所有文件存储在平面命名空间中,但允许您通过文件名中的公共前缀查找文件组,从而复制目录树的功能,但又不那么复杂。

问题是,查找和过滤操作都是 O(1)(或者足够接近,即使在非常大的存储桶上 - S3 的磁盘等效项 - 两个操作也可能是 O(1)))。

简而言之,我正在寻找一种功能类似于哈希映射的数据结构,并具有高效(至少不是 O(n))过滤的额外好处。我能想到的最好的方法是扩展 HashMap,使其还包含一个(排序的)内容列表,并对与前缀匹配的范围进行二分搜索,然后返回该集合。这对我来说似乎很慢,但我想不出任何其他方法来做到这一点。

有谁知道亚马逊是如何做到的,或者有更好的方法来实现这种数据结构?

java filtering hashmap amazon-s3 data-structures

3
推荐指数
1
解决办法
1011
查看次数

像c ++ map这样的Java容器

Java中是否有任何容器允许我们按键使用迭代器,哪些容器可以同时使用下一个元素和前一个元素(如c ++中的map)?

抱歉我的英语

c++ java iterator map

3
推荐指数
1
解决办法
5149
查看次数