景点案例

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);
    }
}

posted @ 2022-12-09 18:35  四四一百六  阅读(40)  评论(0)    收藏  举报