关于List 遍历后,统计元素出现次数的问题

先上代码

public class Analyze {
    public void analyze(List<Result> list) {
        for (int i = 0; i < list.size(); i++) {
        System.out.println("名字:" + list.get(i).getName());
        }
    }
}

输出结果是

名字:张三
名字:张三
名字:张三
名字:张三
名字:张三
名字:李四
名字:李四
名字:李四
名字:王五

我想统计一下其中名字出现了多少次
比如

张三:5
李四:3
王五:1

其中

List<Result> list

是这样的

public class Result {
    private int pin;//员工编号
    private String Name;//员工名称
    private int defaultdeptid;//部门编号
    private Date checktime;//签到时间
    下面是get、set 。看起来太多我省略了…………

我是小白,代码写的也不好,求各位大佬指点迷津!

使用 Java 的 Map 类型,遍历过程中根据当前 name 信息进行存储并处理,demo:

Map<String,Integer> result  = new HashMap<String,Integer>();
 for (int i = 0; i < list.size(); i++) {
         String name =  list.get(i).getName();
                if(result.contains(name)){//存在则累加
                    result.put(name,result.get(name)+1);
                }else{//不存在,则存入 1
                   result.put(name,1);
                }
}


public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("张三");
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add("王五");
        list.add("王五");
        System.out.println(list);
        Map<String, Integer> map = frequencyOfListElements(list);
        System.out.println(map);
    }

    public static Map<String, Integer> frequencyOfListElements(List<String> items) {
        if (items == null || items.size() == 0)
            return null;
        Map<String, Integer> map = new HashMap<String, Integer>();
        for (String temp : items) {
            Integer count = map.get(temp);
            map.put(temp, (count == null) ? 1 : count + 1);
        }
        return map;
    }