package demo;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
import java.util.function.Consumer;
/*
* 利用Map集合存储以下信息: key-学号 , value-姓名
1000 - 张三
1001 - 李四
1002 - 阿森
1003 - 张一山
要求:
① 打印输出所有的信息,打印格式要求: 学号-1000,姓名-张三 。
② 输入一个学号,查找是否存在,存在,则输出对应的姓名,否则输出"查无此人!"
③ 打印输出所有姓张的学号。 startWith(String str) 判断字符串是否以str开头
* */
public class Test03 {
public static void main(String[] args) {
//创建map集合
Map<Integer,String> map = new HashMap<>() ;
//将map集合中添加元素
map.put(1000,"张三");
map.put(1001,"李四");
map.put(1002,"阿森");
map.put(1003,"张一山");
//① 打印输出所有的信息,打印格式要求: 学号-1000,姓名-张三 。
//遍历map集合
Set<Integer> set = map.keySet();
//遍历set集合
set.forEach(new Consumer<Integer>() {
@Override
public void accept(Integer integer) {
System.out.println("学号-"+integer+" , "+"姓名-"+map.get(integer));
}
});
//② 输入一个学号,查找是否存在,存在,则输出对应的姓名,否则输出"查无此人!"
//输入学号
Scanner sc = new Scanner(System.in);
//打印提示语句
System.out.println(" 输入想要查找的学号 ");
//确定Scanner类对象的数据类型
int i = sc.nextInt();
//定义一个boolean类型变量 控制输出语句的打印
boolean bo = false;
//遍历map集合
for (Integer integer : set) {
if (map.containsKey(i)){
bo = true;
System.out.println(map.get(i));
break;
}
}
if (bo==false) System.out.println("没有这个人");
//③ 打印输出所有姓张的学号。 startWith(String str) 判断字符串是否以str开头
//遍历集合
for (Integer integer : set) {
if (map.get(integer).startsWith("张")){
System.out.println(" 同学 "+map.get(integer));
}
}
}
}
MAP集合练习题03
最新推荐文章于 2024-01-01 21:39:33 发布