Hashtable集合

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集合是一个唯一和IO流相结合的集合

例:

    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); Hashtable<String,String> table = new Hashtable<>();
// table.put(null,"a");
// table.put("b",null);
table.put(null,null);
}

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

需求: 计算一个字符串中每个字符出现次数。
分析:
1. 获取一个字符串对象

2. 创建一个Map集合,键代表字符,值代表次数

3. 遍历字符串得到每个字符

4. 判断Map中是否有该键

5. 如果没有,第一次出现,存储次数为1;

如果有,则说明已经出现过,获取到对应的值进行++,再次存储

6. 打印最终结果

演示代码:

public static void main(String[] args) {
//创建一个空集合,用于存放英文字母出现的次数
HashMap<Character,Integer> map = new HashMap<Character, Integer>();
//友情提示
System.out.println("请随机输入一串英文字母:");
//设置键盘输入
String scanner = new Scanner(System.in).nextLine();
//遍历输入的内容
for (int i = 0; i < scanner.length(); i++) {
//读取字符
char c = scanner.charAt(i);
if (!map.containsKey(c)){//说明不存在这个字符
map.put(c,1);
} else {
//先获取之前的次数
Integer count = map.get(c);
//存入
map.put(c,++count);
}
}
System.out.println(map);
}

Hashtable集合 --练习题_计算一个字符串中每个字符出现次数的更多相关文章

  1. HashTable集合和练习题_计算一个字符串中每一个字符出现的次数

    HashTable集合 /** * java.util.Hashtable<K,V>集合 implement Map<K,V>接口 * Hashtable:底层也是一个哈希表, ...

  2. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_08 Map集合_10_练习_计算一个字符串中每个字符出现的次数

  3. 利用HashMap计算一个字符串中每个字符出现的次数

    问题描述:计算一个字符串中每个字符出现的次数 问题分析:每个字符串对应着它的次数,且字符串唯一不重复,这让我们想到了HashMap中的键值对. 1.使用Scanner获取字符串 2.遍历字符串,获取每 ...

  4. JAVA经典题--计算一个字符串中每个字符出现的次数

    需求:  计算一个字符串中每个字符出现的次数 思路: 通过toCharArray()拿到一个字符数组--> 遍历数组,将数组元素作为key,数值1作为value存入map容器--> 如果k ...

  5. 用es6的Array.reduce()方法计算一个字符串中每个字符出现的次数

    有一道经典的字符串处理的问题,统计一个字符串中每个字符出现的次数. 用es6的Array.reduce()函数配合“...”扩展符号可以更方便的处理该问题. s='abananbaacnncn' [. ...

  6. Java 利用Map集合计算一个字符串中每个字符出现的次数

    步骤分析 1.给出一串字符串,字符串中可以包含字母.数字.符号等等. 2.创建一个Map集合,key是字符串中的字符,value是字符的个数. 3.遍历字符串,获取每一个字符. 5.使用获取到的字符, ...

  7. 第六章第二十题(计算一个字符串中字母的个数)(Count the letters in a string) - 编程练习题答案

    *6.20(计算一个字符串中字母的个数)编写一个方法,使用下面的方法头计算字符串中的字母个数: public static int countLetters(String s) 编写一个测试程序,提示 ...

  8. Map集合应用 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...

    package com.swift; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import ...

  9. Java统计一个字符串中各个字符出现的次数

    相信很多人在工作的时候都会遇到这样一个,如何统计一个字符串中各个字符出现的次数呢,这种需求一把用在数据分析方面,比如根据特定的条件去查找某个字符出现的次数.那么如何实现呢,其实也很简单,下面我贴上代码 ...

随机推荐

  1. Python学习笔记: 装饰器Decorator

    介绍 装饰器是对功能函数的加强. 在原来的功能函数之外,另外定义一个装饰器函数,对原来的功能函数进行封装(wrapper)并在wrapper的过程中增加一些辅助功能. 应用场景 如下场景: 业务函数f ...

  2. jquery 动态 给select赋值

    <div class="right_left"> <select id="supply"> <option>请选择供应商&l ...

  3. css的过渡transition和动画animation

    过渡 过渡(transition)是CSS3中具有颠覆性的特性之一,我们可以在不使用Flash动画或JavaScript的情况下,当元素从一种样式变换为另一种样式时元素添加效果.过渡动画:是从一个状态 ...

  4. 攻防世界-MISC:glance-50

    这是攻防世界MISC高手进阶区的题目,题目如下: 点击下载附件一,得到一张GIF动图如下 找个网站给分离一下,将gif分离为图片,共201张,然后拼接在一起即可得到flag 所以这道题的flag如下: ...

  5. XCTF练习题---MISC---Training-Stegano-1

    XCTF练习题---MISC---Training-Stegano-1 flag:steganoI 解题步骤: 1.观察题目,下载附件 2.打开下载的图片文件,发现就是一个点,修改文件扩展名,还是说查 ...

  6. 半导体行业如何保持高效远程办公?因果集群(Causal Clustering)了解一下!

    什么是因果集群?因果集群是下一代多站点复制技术.它支持数据中心的分布式系统集群模型.借助于因果集群技术,可以让远程工作团队成员体验到更卓越的性能和更健壮的复制功能,确保您的团队始终以高效状态工作. 因 ...

  7. FreeRTOS --(16)资源管理之临界区

    转载自 https://blog.csdn.net/zhoutaopower/article/details/107387427 临界区的概念在任何的 SoC 都存在,比如,针对一个寄存器,基本操作为 ...

  8. C++进阶实例2--员工分组

    C++进阶实例2--员工分组 1 #include<iostream> 2 #include<map> 3 #include<vector> 4 #include& ...

  9. 一窥 AJAX

    一窥 AJAX 本文写于 2020 年 6 月 7 日 AJAX 这个词非常常见,如果使初学者,说不定还会非常害怕这个名字看起来非常高端.非常难的技术. AJAX,全称 Async JavaScrip ...

  10. 【Azure Developer】使用Azure PubSub服务示例代码时候遇见了.NET 6.0的代码转换问题

    问题描述 当本地环境中安装.NET 6.0后,用指令 dotnet new web 或  dotnet new console 生成的项目,使用的都是新模板生成的Program.cs文件.里面去掉了n ...