Hash table集合-练习_计算一个字符串中每个字符出现次数

Hash table集合

java.util.Hashtable<K,V>集合implements Map<K,V>接口
Hashtable:底层也是一个哈希表,是一个线程安全的集合,是单线程集合,速度慢HashMap:底层是一个哈希表,是一个线程不安全的集合,是多线程的集合,速度快
HashMap集合(之前学的所有的集合):可以存储null值,nulL键
Hashtable集合,不能存储null值,null键
Hashtable和vector集合一样,在jdk1.2版本之后被更先进的集合(HashMap, ArrayList)取代了Hashtable的子类Properties依然活跃在历史舞台
Properties集合是一个唯—和I0流相结合的集合

复制代码
package A_Lian_one.demo15Collections;

import java.util.HashMap;

public class Demo02Hashtable {
    public static void main(String[] args) {
        HashMap<String, String> map = new HashMap<>();
        map.put(null,"a");
        map.put("b",null);
        map.put(null,null);
        System.out.println(map);

    }
}
复制代码

 

练习_计算一个字符串中每个字符出现次数

需求∶

计算一个字符串中每个字符出现次数。

分析:

1.获取一个字符串对象
2.创建一个Map集合,键代表字符,值代表次数。

3.遍历字符串得到每个字符。
4.判断Map中是否有该键。
5.如果没有,第一次出现,存储次数为1;如果有,则说明已经出现过,获取到对应的值进行++,再次存储。

6.打印最终结果

复制代码
package A_Lian_one.demo15Collections;

import java.util.HashMap;
import java.util.Scanner;

public class Demo03MapTest {
    public static void main(String[] args) {
        demo01();
    }

    private static void demo01() {
        //使用scanner获取用户输入的字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String str = sc.next();
        //创建map集合,key是字符串中的字符,value是字符的个数
        HashMap<Character, Integer> map = new HashMap<>();
        //遍历字符串,获取每一个字符
        for (char c :
                str.toCharArray()) {
            //使用获取到的字符,去map集合判断key是否存在
            if (map.containsKey(c)){
                //key存在
                Integer value = map.get(c);
                value++;
                map.put(c,value);
            }else {
                map.put(c,1);
            }
        }
        for (Character key :
                map.keySet()) {
            Integer value = map.get(key);
            System.out.println(key+"="+value);
        }
    }
}
复制代码

 

posted @   ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示