任务描述
本关任务:使用 HashMap 集合操作菜单。
相关知识
什么是 HashMap
HashMap 是 Map 接口的实现类,它存储的内容是键值对(key-value)映射,其中 key、value 都可以为 null。HashMap 是无序的,即被存入到 HashMap 中的元素,在遍历 HashMap 时,其输出是无序的。
创建 HashMap 集合
使用以下代码即可创建一个 HashMap 集合。
public static void main(String[] args) {
// 创建 HashMap 集合,key 存储字符串类型,value 存储整数类型
Map<String, Integer> hashMap = new HashMap<>();
}
/*
仔细阅读给出的代码框架及注释,在 Begin-End 间编写程序代码,使用 HashMap 集合的常用方法完成所给要求,具体如下:
- 接收给定的一行字符串(如:红烧鱼:50,小炒牛肉:75,...);
- 切割字符串,把切割后的元素添加进 HashMap 集合中;
- 往集合中添加一道菜,菜名:lamb,价格:50;
- 输出所有菜名(不含价格);
- 删除红烧鱼和小炒牛肉这两道菜后输出集合长度;
- 打印集合。
注意:字符串中的逗号和分号都是中文符号。
*/
import java.util.*;
public class CollTest {
public static void main(String[] args) {
// 请在Begin-End间编写代码
/********** Begin **********/
// 第一步:接收给定字符串
Scanner in =new Scanner(System.in);
String a=in.nextLine();
// 第二步:切割花名册
String [] a1=a.split(",");
int n=a1.length;
// 第三步:创建 HashMap 集合,key为菜名,value为价格
Map<String,String> l=new HashMap<>();
// 第四步:添加数据到集合中
for(int i=0;i<n;i++){
String[] x=a1[i].split(":");
l.put(x[0],x[1]);
}
// 第五步:往集合中添加给定的一道菜
l.put("lamb","50");
// 第六步:输出所有菜名
Set<String> strings = l.keySet();
System.out.println(strings);
// 第七步:删除红烧鱼和小炒牛肉这两道菜后输出集合长度
l.remove("红烧鱼");
l.remove("小炒牛肉");
System.out.println(l.size());
// 第八步:打印集合
System.out.println(l);
/********** End **********/
}
}