Java 使用 Map 集合统计投票人数

Java 使用 Map 集合统计投票人数

Java 使用 Map 集合统计投票人数_第1张图片

package com.zhong.mapdemo.map;

import javax.swing.plaf.synth.SynthOptionPaneUI;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

/**
 * @ClassName : MapCountPeopleNumber
 * @Description : 使用 map 统计投票人数
 * @Author : zhx
 * @Date: 2024-02-07 14:40
 */
public class MapCountPeopleNumber {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("A");
        arrayList.add("B");
        arrayList.add("C");
        arrayList.add("A");
        arrayList.add("D");
        arrayList.add("B");
        arrayList.add("A");
        arrayList.add("C");
        arrayList.add("C");
        arrayList.add("A");
        arrayList.add("D");
        arrayList.add("B");
        arrayList.add("A");
        arrayList.add("C");

        System.out.println("-------------原始投票情况-------------");
        System.out.println(arrayList);

        // 创建 map 集合
        System.out.println("-------------统计投票情况-------------");
        Map<String, Integer> hashMap = new HashMap<>();
//        arrayList.forEach(x -> {
//            // 如果找到重复的 key
//            if (hashMap.containsKey(x)) {
//                // 获取 key 对应的 value
//                Integer count = hashMap.get(x);
//                // 对 value 进行 +1 的操作
//                hashMap.put(x, ++count);
//            } else {
//                // 没有找到则创建
//                hashMap.put(x, 1);
//            }
//        });
        // 简化
        arrayList.forEach(x -> {
            Integer i = hashMap.containsKey(x) ? hashMap.put(x, hashMap.get(x) + 1) : hashMap.put(x, 1);
        });
        System.out.println(hashMap);
    }
}

Java 使用 Map 集合统计投票人数_第2张图片

你可能感兴趣的:(Java,java,开发语言)