From 375c9ab275b69b6c81da3f8edbe11f11b46c6263 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Mon, 3 Aug 2026 10:51:47 +0800 Subject: [PATCH] =?UTF-8?q?s-day04-Map=E7=BB=83=E4=B9=A0=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E5=87=BA=E7=8E=B0=E7=9A=84=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- s-day04/src/com/inmind/map01/MapTest06.java | 57 +++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 s-day04/src/com/inmind/map01/MapTest06.java diff --git a/s-day04/src/com/inmind/map01/MapTest06.java b/s-day04/src/com/inmind/map01/MapTest06.java new file mode 100644 index 0000000..44c8510 --- /dev/null +++ b/s-day04/src/com/inmind/map01/MapTest06.java @@ -0,0 +1,57 @@ +package com.inmind.map01; + +import java.util.HashMap; +import java.util.Map; +import java.util.Scanner; +import java.util.Set; + +/* +7.Map练习统计字符串中字符出现的次数 +“aabbbcc”---->a:2,b:3,c:2 +实现分析: + 1.使用scanner接收输入字符串 + 2.字符串转字符数组 + 3.创建一个键为字符,值为整数的双列集合 + 4.遍历字符数组 + 判断双列集合中是否拥有某个字符为key,如果没有,直接添加,次数设置为1 + 判断双列集合中是否拥有某个字符为key,如果有,直接修改,次数设置为当前次数+1 + 5.遍历双列集合 + */ +public class MapTest06 { + public static void main(String[] args) { + //1.使用scanner接收输入字符串 + Scanner sc = new Scanner(System.in); + System.out.println("请输入字符串:"); + String s = sc.nextLine(); + //2.字符串转字符数组 + char[] chars = s.toCharArray(); + //3.创建一个键为字符,值为整数的双列集合 + HashMap maps = new HashMap<>(); + //4.遍历字符数组 + for (char key : chars) { + if (maps.containsKey(key)) { + //判断双列集合中是否拥有某个字符为key,如果有,直接修改,次数设置为当前次数+1 + /*Integer count = maps.get(key); + maps.put(key, count + 1);*/ + maps.put(key, maps.get(key) + 1); + } else { + //判断双列集合中是否拥有某个字符为key,如果没有,直接添加,次数设置为1 + maps.put(key, 1); + } + } + + //5.遍历双列集合 + //键找值 + Set keys = maps.keySet(); + for (Character key : keys) { + System.out.println(key+":"+maps.get(key)); + } + //键值对遍历 + System.out.println("---------------------"); + Set> entries = maps.entrySet(); + for (Map.Entry entry : entries) { + System.out.println(entry.getKey()+":"+entry.getValue()); + } + + } +}