题意整理。
- 给定map集合,首先遍历集合,打印所有键值对,然后进行指定的插入、移除、替换操作,最后再次遍历集合,打印所有键值对。
方法一(哈希表)
1.解题思路
- 模拟题目要求的遍历、插入、移除、替换等操作。
动图展示:
2.代码实现
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.next();
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "Amy");
map.put(2, "Joe");
map.put(3, "Tom");
map.put(4, "Susan");
//遍历map,打印序号和人名
for(Integer key:map.keySet()){
System.out.println(key+":"+map.get(key));
}
//插入5号
map.put(5,name);
//移除4号
map.remove(4);
//替换3号
map.replace(3,"Tommy");
//打印空行
System.out.println();
//遍历map,打印序号和人名
for(Integer key:map.keySet()){
System.out.println(key+":"+map.get(key));
}
}
}
3.复杂度分析
- 时间复杂度:总共需要常数次操作,所以时间复杂度为。
- 空间复杂度:需要额外常数级别的空间,所以空间复杂度为。