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"
答案 0 :(得分:1)
您使用错误的数据结构满足您的需求。我猜你的地图中的关键字只是索引,因此不需要。你应该使用的是一个ArrayList。在那里你可以add(int index,Object o)
你所说的你需要的元素。
答案 1 :(得分:0)
我不确定你想在这里实现什么。但是这段代码应该这样做。
String temp1 = "New Element";
String temp2 = "";
Set<String> keys = data.keySet();
for(String key:keys){
if(key.compareTo("2")>=0){
temp2 = data.get(key);
data.put(key,temp1);
temp1 = temp2;
}
}
data.put(keys.size()+1,temp1);
假设您输入的密钥将按升序排列