第一题:定义一个Map接口类型的变量,引用HashMap实现类,添加键值对,完成以下需求(从1到5按顺序执行):
1、判断集合中是否包含某一key值,并通过某一key值得到value值,并打印出来;
2、通过某一key删除键值对;
把另一个map集合添加到此map集合
3、返回集合里key-value对的个数,并打印出来个数和集合中的全部元素。
4、判断是否为空,是则清除集合。
public class HashMapDemo {
public static void main(String[] args) {
//创建Map对象
Map map = new HashMap();
//添加键值对
map.put(1, "正神黄天禄");
map.put(2, "正神黄天翔");
map.put(3, "正神黄天化");
map.put(4, "东岳大帝");
map.put(5, "青辉武神");
//判断集合中是否包含某一key值,并通过某一key值得到value值,并打印出来;
if (map.containsKey(4) == true) {
System.out.println(map.get(4));
}
//通过某一key删除键值对;
map.remove(1);
Map map1 = new HashMap();
map1.put(6, "娃哈哈");
map1.put(7, "康师傅");
map1.put(8, "可口可乐");
//把另一个map集合添加到此map集合
map.putAll(map1);
//返回集合里key-value对的个数,并打印出来个数和集合中的全部元素。
Collection values = map.values();
for (Object value:values) {
System.out.println(value);
}
//判断是否为空,是则清除集合。
if (map.isEmpty()) {
map.clear();
}
}
}
第二题:使用Map接口的实现类完成员工工资(姓名–工资)的摸拟:
1)添加几条信息
2)列出所有的员工姓名
3列出所有员工姓名及其工资
4)删除名叫“Tom”的员工信息
5)输出Jack的工资,并将其工资加1000元(通过取值实现)
6)将所有工资低于1000元的员工的工资上涨20%(通过取值实现)
public class HashMapDemo01 {
public static void main(String[] args) {
//列出所有员工姓名及其工资
LinkedHashMap link = new LinkedHashMap();
link.put("Tom", 800);
link.put("Toy", 1500);
link.put("Stank", 2000);
link.put("Park", 700);
link.put("Jack", 1200);
//列出所有的员工姓名
Set set = link.keySet();
System.out.println("所有的员工姓名:");
for (Object o : set) {
System.out.println(o);
}
//列出所有员工姓名及其工资
Set set1 = link.entrySet();
System.out.println("所有员工姓名及其工资:");
for (Object o : set1) {
Map.Entry entry = (Map.Entry) o;
System.out.println(entry.getKey() + "," + entry.getValue());
}
//删除名叫“Tom”的员工信息
link.remove("Tom");
//输出Jack的工资,并将其工资加1000元(通过取值实现)
System.out.println("Jack的工资为:" + link.get("Jack"));
//将所有工资低于1000元的员工的工资上涨20%(通过取值实现)
Set set2 = link.entrySet();
for (Object o : set1) {
Map.Entry entry = (Map.Entry) o;
System.out.println("上涨后的工资为:");
if (((int)entry.getValue())< 1000) {
link.put((String)entry.getKey(), (int)entry.getValue()*1.2);
}
}
System.out.println(link);
}
}
第三题:使用HashMap存放国家名称信息并打印,创建Main类,在其main方法中一个HashMap对象ht,将数个国家的信息加入其中,加入国家信息时,以国家英文缩写(字符串类型)为key,国家中文名称(字符串类型)为value
资料:
CA-加拿大(CANADA)
CF-中非(CENTRAL AFRICA)
CG-刚果(CONGO)
CH-瑞士(SWITZERLAND)
CL-智利(CHILE)
CM-喀麦隆(CAMEROON)
CN-中国(CHINA)
CO-哥伦比亚(COLOMBIA)
CR-哥斯达黎加(COSTA RICA)
CS-捷克(CZECH REPUBIC)
CU-古巴(CUBA)
CY-塞浦路斯(CYPRUS)
DE-德 国(GERMANY)
DK-丹麦(DENMARK)
DO-多米尼加共和国(DOMINICAN REPUBLIC)
DZ-阿尔及利亚(ALGERIA)
任务要求
1.查询CA国家信息,如果存在并打印其国家中文名称,不存在则提示“无此国家”。
2.显示集合中一共有多少个国家;
3.输出所有国家简称
4.输出所有国家值
public class Main {
public static void main(String[] args) {
//创建HashMap对象ht
HashMap ht = new HashMap();
//map集合是键值对(key-value)的方法来储存数据
ht.put("CA","加拿大(CANADA)");
ht.put("CF","中非(CENTRAL AFRICA)");
ht.put("CG","刚果(CONGO)");
ht.put("CH","瑞士(SWITZERLAND)");
ht.put("CL","智利(CHILE)");
ht.put("CM","喀麦隆(CAMEROON)");
ht.put("CN","中国(CHINA)");
ht.put("CO","哥伦比亚(COLOMBIA)");
ht.put("CR","哥斯达黎加(COSTA RICA)");
ht.put("CS","捷克(CZECH REPUBIC)");
ht.put("CU","古巴(CUBA)");
ht.put("CY","塞浦路斯(CYPRUS)");
ht.put("DE","德 国(GERMANY)");
ht.put("DK","丹麦(DENMARK)");
ht.put("DO","多米尼加共和国(DOMINICAN REPUBLIC)");
ht.put("DZ","阿尔及利亚(ALGERIA)");
if (ht.get("CA") != null) {
System.out.println("国家中文名称:"+ht.get("CA"));
}else{
System.out.println("无此国家");
}
System.out.println("一共有"+ht.size()+"个国家");
//Set keySet():返回所有key构成的Set集合
Set set = ht.keySet();
for (Object o:set) {
System.out.println(o);
}
//Set keySet():返回所有key构成的Set集合
Collection values = ht.values();
for (Object value: values) {
System.out.println(value);
}
}
}
```![在这里插入图片描述](https://img-blog.csdnimg.cn/2021011918570779.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDE5MzMzNw==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210119185709310.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDE5MzMzNw==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210119185716570.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDE5MzMzNw==,size_16,color_FFFFFF,t_70)