1) 使用一个HashMap<String,String>对象map,以老师的名字作为键,以老师教授的课程名作为值,表示上述课程安排。 2) 增加了一位新老师"关鑫"教"JDBC" 3) "王维" 改为教"JSP" 4) 把Map的key取出放入到Set中,对Set进行遍历,输出所有的老师及老师教授的课程 5) 利用Map,输出所有教JSP 的老师。
时间: 2023-06-03 09:01:38 浏览: 91
答案:
1)HashMap<String,String> map = new HashMap<String,String>();
map.put("张三", "Java");
map.put("李四", "Python");
map.put("王五", "C++");
2)map.put("关鑫", "JDBC");
3)map.put("王维", "JSP");
4)Set<String> keySet = map.keySet();
for(String key:keySet){
System.out.println(key+" 教授 "+map.get(key));
}
5)Set<String> teacherSet = new HashSet<String>();
for(String key:keySet){
if(map.get(key).equals("JSP")){
teacherSet.add(key);
}
}
System.out.println("教JSP的老师有:");
for(String teacher:teacherSet){
System.out.println(teacher);
}
相关问题
怎么在List<HashMap<String, Object>>中map中的map找出包含我想要关键字的List<HashMap<String, Object>>
你可以使用Java 8的Stream API来实现这个功能。首先,你需要将List<HashMap<String, Object>>转换为Stream对象,然后使用flatMap方法将每个HashMap中的值转换为一个新的Stream对象,最后使用filter方法过滤符合条件的HashMap并将结果收集到一个新的List中。
以下是一个示例代码:
```java
List<HashMap<String, Object>> list = new ArrayList<>();
// 假设 list 中有多个 map 对象
String keyword = "test"; // 你想要查找的关键字
List<HashMap<String, Object>> result = list.stream() // 将 list 转换为 Stream
.flatMap(map -> map.values().stream()) // 将每个 map 的值转换为 Stream
.filter(value -> value instanceof HashMap) // 过滤掉不是 map 的值
.map(value -> (HashMap<String, Object>) value) // 将值转换为 HashMap
.filter(map -> map.containsKey(keyword)) // 过滤掉不包含关键字的 map
.collect(Collectors.toList()); // 将结果收集到一个新的 List 中
```
这样就可以找出包含指定关键字的 List<HashMap<String, Object>> 了。
HashMap<String, String>类型如何转化成HashMap<String, Object>
可以直接将HashMap<String, String>强制转化为HashMap<String, Object>,但需要注意的是,在HashMap<String, String>中存储的是String类型的值,在转化为HashMap<String, Object>后,值的类型都会变为Object类型,因此需要注意类型转化的问题。下面是示例代码:
```
HashMap<String, String> stringMap = new HashMap<>();
stringMap.put("key1", "value1");
stringMap.put("key2", "value2");
HashMap<String, Object> objectMap = (HashMap<String, Object>) (HashMap) stringMap;
System.out.println(objectMap.get("key1").getClass()); // 输出class java.lang.String
System.out.println(objectMap.get("key2").getClass()); // 输出class java.lang.String
```
在上面的代码中,我们通过将HashMap<String, String>强制转化为HashMap<String, Object>,并打印出了两个键值对的值的类型,可以看到转化后的类型仍然是String类型。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)