黑马程序员,Java下半部,课堂练习代码
package com.sky;
import java.util.HashMap;
import java.util.Map;
public class A01_MapDemo1 {
public static void main(String[] args) {
//1.创建Map集合的对象
// ###############################Map中常见的方法。
Map<String, String> m = new HashMap<>();
// 2.添加元素
m.put("郭靖", "黄蓉");
m.put("韦小宝", "沐剑屏");
m.put("尹志平", "小龙女");
/*1. String value = m.put("尹志平","黄蓉");
System.out.println(value); //打印出来的是小龙女,被覆盖的值,会被输出,没有被覆盖的值,那就返回null。
*/
/*2. String result = m. remove("郭靖");
* System.out.println(result);//输出的是黄蓉。
*/
/*3. 判断是否包含
* boolean keyResult = m.containskey("郭靖");
* System.out.println(keyResult);
*
* boolean valueResult = m.containsValue("小龙女");
* System.out.println(valueResult);
* */
/*4. 判断是否为空
boolean result = m.isEmpty();
System.out.println(result);
* */
/*5. 集合长度
* int size = m. size();
* System.out.println(size);
* */
// 清空集合
// m.clear();
// 打印集合
System.out.println(m);
}
}
package com.sky;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class A02_MapDemo2 {
public static void main(String[] args) {
// Map的遍历方式: 1,通过键找值 2. 3.
// 1.通过键找值
// 创建Map集合的对象
Map<String,String> map = new HashMap<>();
// 添加元素
map.put("尹志平","小龙女");
map.put("郭靖","穆念慈");
map.put("欧阳克","黄蓉");
// 获取所有的键,把这些键放到一个单列集合中
// Set<String> keys = map.keySet();
// 遍历单列集合,获取每一个键
// 练习一: 使用增强for循环的方式遍历
// for(String key : keys){
// String value = map.get(key);
// System.out.println(key + "=" + value);
// }
// 练习二: 使用迭代器的方式遍历
// Iterator<String> t = keys.iterator();
// while(t.hasNext()) {
// String t1 = t.next();
// System.out.println(t1 +","+ map.get(t1));
// }
// 练习三:使用lambda表达式的方式遍历
// keys.forEach((key) -> System.out.println(key +","+map.get(key)));
// 2.通过获取键值对对象来进行遍历
// 通过一个方法来获取所有的键值对对象,方法会返回一个Set集合
Set<Map.Entry<String,String>> entries = map.entrySet();
// 遍历entries这个集合,去得到里面的每一个键值对对象
// 练习一,使用增强for循环的方式遍历
// for(Map.Entry<String,String> entry : entries){
利用entry调用get方法获取键和值
// String key = entry.getKey();
// String value = entry.getValue();
// System.out.println(key + "=" + value);
// 练习二,使用迭代器的方式进行遍历
// Iterator<Map.Entry<String, String>> t = entries.iterator();
// while (t.hasNext()) {
// Map.Entry<String, String> t1 = t.next();
// System.out.println(t1.getKey() + "=" + t1.getValue());
// }
// 练习三,使用lambda表达式的方式进行遍历
// entries.forEach((entry) -> System.out.println(entry.getKey() + "=" + entry.getValue()));
//3.通过lambda表达式来遍历 BigConsumer
}
}
3.通过lambda表达式来遍历 BigConsumer(下图一个是完整写法一个是缩略写法。)