【发布时间】:2013-11-04 06:03:25
【问题描述】:
我的问题可能听起来很傻,但想知道 Java 中是否有任何 Collection 对象将索引、键和值存储在单个 Collection 对象中?
我有以下几点:
Enumeration hs = request.getParameterNames();
LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap<String, String>();
while (hs.hasMoreElements()) {
linkedHashMap.put(value, request.getParameter(value));
}
上面存储了linkedHashMap中的key和value,但它没有索引。如果有,那么我可以通过 index(pos) 调用并获取相应的键和值。
编辑 1
我想有条件地检查 index(position) 是否为 x 然后获取相应的键值对并构造一个带有查询的字符串。
【问题讨论】:
-
如果你能解释一下你的功能需求会更好。
-
无论如何,如果你知道你的
Map不会改变,你可以创建一个List<Map.Entry<String, String>> indexedKV = new ArrayList(linkedHashMap.entrySet()); -
construct a string with query 现在我更想知道为什么您需要使用索引而不是仅仅通过键检索所需的值...
-
你曾经通过钥匙访问地图吗?还是仅按索引?
-
如果你有一个已知的键 K 和一个已知的索引 N,并且你正在查找索引 N 处的项目,检查它的键是否为 K,然后获取它的值,那么你不妨只是直接从键中获取值,因为您已经知道键是什么。如果您从不通过键访问并且仅通过索引访问,那么您可能根本不使用地图。所以这一切都取决于。请说明为什么关键 K 位于特定索引 N 很重要。另外请说明您的性能要求(为什么不手动迭代到
LinkedHashMap中的位置 N?)
标签: java collections