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/