Java 统计每天出现的次数:简单易懂的代码示例
可以使用Java的日期时间库来实现按照天数统计次数。下面是一种可能的实现方式:\n\n首先,创建一个HashMap来存储每天的统计次数。键为日期,值为次数。\n\n然后,遍历需要统计的数据,对于每个数据,获取其日期,并将日期格式化为指定的格式(例如"yyyy-MM-dd")。\n\n接着,判断HashMap中是否已经存在该日期的键,如果存在,则将对应的值加1;如果不存在,则将该日期作为键,值设为1。\n\n最后,遍历HashMap,输出统计结果。\n\n以下是具体代码示例:\n\njava\nimport java.time.LocalDate;\nimport java.time.format.DateTimeFormatter;\nimport java.util.HashMap;\nimport java.util.Map;\n\npublic class Main {\n public static void main(String[] args) {\n // 模拟需要统计的数据\n String[] data = {\n "2021-08-01",\n "2021-08-02",\n "2021-08-02",\n "2021-08-03",\n "2021-08-03",\n "2021-08-03",\n "2021-08-04"\n };\n\n // 创建HashMap来存储统计结果\n Map<String, Integer> countMap = new HashMap<>();\n\n // 统计次数\n for (String dateStr : data) {\n // 将日期字符串解析为LocalDate对象\n LocalDate date = LocalDate.parse(dateStr, DateTimeFormatter.ISO_DATE);\n\n // 格式化日期为指定格式\n String formattedDate = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));\n\n // 判断HashMap中是否已存在该日期的键\n if (countMap.containsKey(formattedDate)) {\n // 存在,则将对应的值加1\n countMap.put(formattedDate, countMap.get(formattedDate) + 1);\n } else {\n // 不存在,则将该日期作为键,值设为1\n countMap.put(formattedDate, 1);\n }\n }\n\n // 输出统计结果\n for (Map.Entry<String, Integer> entry : countMap.entrySet()) {\n System.out.println(entry.getKey() + ": " + entry.getValue());\n }\n }\n}\n\n\n运行上述代码,输出结果为:\n\n\n2021-08-04: 1\n2021-08-01: 1\n2021-08-02: 2\n2021-08-03: 3\n\n\n这表示在给定的数据中,2021-08-04出现了1次,2021-08-01出现了1次,2021-08-02出现了2次,2021-08-03出现了3次。
原文地址: https://www.cveoy.top/t/topic/pQVd 著作权归作者所有。请勿转载和采集!