package com.itheima.d5_map_traverse;
import java.util.*;
public class MapTest4 {
public static void main(String[] args) {
// 目标:掌握Map集合的常见案例。
// 1、把100个学生的选择的景点拿到程序中来。
String[] locations = {"玉龙雪山", "大理", "漓江", "泰山", "泰国"};
List selects = new ArrayList<>();
Random r = new Random();
for (int i = 1; i <= 100; i++) {
int index= r.nextInt(locations.length);
selects.add(locations[index]); // 代表当前这个学生选择的景点。
}
System.out.println(selects);
// 2、统计每个景点想去的人数。 selects = [大理, 泰国, 漓江, 玉龙雪山, 玉龙雪山, 泰山, 泰国, 泰山, 泰国, 漓江, 泰山, 玉龙雪山, 泰国, 泰国, 大理..
// 以终为始:最终统计的结果是: 大理=20 泰国=60...
// 键是景点 值是次数
Map result = new HashMap<>(); // {大理=2,}
// 3、开始正式统计,遍历每个景点。
for (String select : selects) {
// 去result集合中,判断是否存在景点
if(result.containsKey(select)){
// 把本键对应的其值取出来,再+1,再存入
int number = result.get(select) + 1;
result.put(select, number);
}else {
// map集合中没有这个景点,说明是第一次统计,应该存入景点=1
result.put(select, 1);
}
}
System.out.println(result);
}
}