0
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"
4

2 回答 2

1

您正在使用错误的数据结构来满足您的需求。我猜你地图中的关键只是索引,因此不需要。你最好使用的是 ArrayList。在那里,您可以add(int index,Object o)按照您所说的需要使用您的元素。

于 2016-07-06T05:10:07.527 回答
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);

这是假设您将输入的键将按升序排列

于 2016-07-06T17:15:02.830 回答