Java集合—Map系列集合(习题二)
需求
现在有一个map集合如下:
Map<Integer,String> map = new HashMap<Integer, String>();
map.put(1, “张三丰”);
map.put(2, “周芷若”);
map.put(3, “汪峰”);
map.put(4, “灭绝师太”);
要求:
-
遍历集合,并将序号与对应人名打印。
-
向该map集合中插入一个编码为5姓名为李晓红的信息
-
移除该map中的编号为1的信息
-
将map集合中编号为2的姓名信息修改为"周林"
代码实现
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Test {
public static void main(String[] args) {
/*
Map<Integer,String> map = new HashMap<Integer, String>();
map.put(1, "张三丰");
map.put(2, "周芷若");
map.put(3, "汪峰");
map.put(4, "灭绝师太");
要求:
(1)遍历集合,并将序号与对应人名打印。
(2)向该map集合中插入一个编码为5姓名为李晓红的信息
3.移除该map中的编号为1的信息
4.将map集合中编号为2的姓名信息修改为"周林"
*/
// 创建集合的对象
Map<Integer,String> map = new HashMap<>();
// 添加元素
map.put(1, "张三丰");
map.put(2, "周芷若");
map.put(3, "汪峰");
map.put(4, "灭绝师太");
// (1)遍历集合,并将序号与对应人名打印。
// 1.1键值对遍历
Set<Map.Entry<Integer, String>> entries = map.entrySet();
for (Map.Entry<Integer, String> entry : entries) {
// 通过getKey()、getValue()方法得到entries对象中的值和键
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println(key+"=>"+value);
}
//1.2 键找值遍历
//将所用的键放在单列集合中
Set<Integer> keys = map.keySet();
// 增强for遍历单列集合
for (Integer key : keys) {
// 通过键获取对应的值
String value = map.get(key);
System.out.println(key+"=>"+value);
}
// 1.3迭代器遍历单列集合
Iterator<Integer> it = keys.iterator();
while (it.hasNext()){
Integer next = it.next();
String value = map.get(next);
System.out.println(next+"=>"+value);
}
// 增加,插入一个编码为5姓名为李晓红的信息
map.put(5,"李晓红");
// 删除,移除该map中的编号为1的信息
map.remove(1);
// 修改,编号为2的姓名信息修改为"周林"
map.put(2,"周琳");
// 遍历增删改过的信息
Iterator<Integer> itt = keys.iterator();
while (itt.hasNext()){
Integer next = itt.next();
String value = map.get(next);
System.out.println(next+"=>"+value);
}
//main ending.......
}
}
System.out.println(next+"=>"+value);
}
//main ending…
}
}