【发布时间】:2016-07-06 04:57:22
【问题描述】:
public class Data
{
public static void main(String[] args) {
Map<String, String> data = new LinkedHashMap<String, String>();
data.put("1", "A");
data.put("2", "B");
data.put("3", "C");
data.put("4", "D");
}
}
我想在位置 2 插入一个新元素并将其他元素向下移动一步? 有没有可能
之前
"1", "A"
"2", "B"
"3", "C"
"4", "D"
之后
"1", "A"
"2", "New Element"
"3", "B"
"4", "C"
"5", "D"
【问题讨论】:
-
您建议在插入新元素时重命名您的
keys?,您将如何再次找到您的数据? -
它不是一个数组。它是一个键值对关系映射,称为
HashMap。因此,您需要根据需要手动更改每个键 -
如果键只是链表的节点号,这将起作用。让 put 函数将键转换为整数,然后遍历链表以查找节点。问题是搜索操作将是 O(n) 而不是 O{log n) 所以你应该只将它用于小范围的键。
标签: java dictionary collections hashmap jmap