java - 按索引获取项目

标签 java data-structures

Java 中按索引获取和设置项目的最佳数据结构是什么?

我最初使用ArrayList,但问题是有时,我需要插入一个大于ArrayList大小的元素,例如:

pseudocode
array = new ArrayList();
array.set(10, object);

显然这会返回一个错误。我可以使用哨兵值初始化数组,但使用:

array.size()

总是说我的数组已满。显然它只是填充了哨兵值。

最佳答案

如果您始终知道插入值的索引,那么通常可以使用 Map 接口(interface)的具体实现。

这组类的优点是,通过了解索引(或本上下文中的Key),您可以在 O(1) 时间内直接从内存中检索对象。这意味着无需搜索。

例如:

Map<String, String> map = new HashMap<String, String>();

map.put("KEY", "VALUE");

String key = "KEY";

// Do some processing..

String value = map.get(key);

// value variable now contains "VALUE".

看看 documentation真正扎实地掌握如何使用这组类。

关于java - 按索引获取项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19902454/

相关文章:

java - 如何修改List<中的对象?迭代时扩展 MyObject>?

java - Junit测试后临时文件没有被删除

c - 删除项目 - 哈希表

c# - 堆栈的替代方案

data-structures - 在 cuda 中构建 kd 树

algorithm - 查找重叠的集合的间隔

java - 在不引发FileNotFoundException的情况下无法声明全局静态Scanner对象?

java - 使用反射调用方法

java - Android ListView 适配器崩溃问题/重复

c# - 多键字典,其中只需要 1 个键来检索对象