HashTable集合

/**
* java.util.Hashtable<K,V>集合 implement Map<K,V>接口
* Hashtable:底层也是一个哈希表,是一个线程安全的集合,是单线程集合,速度慢
* HashMap:底层是一个哈希表,是一个线程不安全的集合,是多线程的集合,速度快
*
* HashMap集合:可以存储null值null键
* Hashtable集合:不可以存储null值null键
*
* Hashtable集合和Vector集合一样,在jdk1.2版本后被更先进的集合取代了
* Hashtable的子类properties依然活跃在历史舞台
* properties集合是唯一一个和Io流相结合的集合
*/
public static void main(String[] args) {
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put(null,"a");
hashMap.put("b",null);
System.out.println(hashMap);//{null=a, b=null} Hashtable<String, String> hashtable = new Hashtable<>();
hashtable.put(null,"c");//NullPointerException
hashtable.put("d",null);//NullPointerException System.out.println(hashtable);
}

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

使用Scanner获取用户输入的一个字符串

例如:

aaabbbbcca

a 4

b 4

c 2

不能重复 可以重复

字符 统计个数

HashMap<Character,Integer>

遍历字符串获取每一个字符

1.String类的方法toCharArray。把字符串转换为一个字符数组,遍历数组

2.String类的方法lenth()+charAt(索引)

使用Map集合中的方法判断渠道的字符是否存储在集合中

1.使用Map集合中的方法contrinsKey(截取到的字符)返回的是布尔类型

true:存在字符

通过字符获取value统计个数

把value++

再把新的value存储到Map集合中

false字符不存在

把字符作为key1作为value存储到Map集合中

2.使用Map集合的get(Key)

返回null,key不存在

不是null,可以存在

代码:

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入一些字符");
String str = in.next(); HashMap<Character, Integer> map = new HashMap<>(); for (char c :str.toCharArray()){
if (map.containsKey(c)){
Integer integer = map.get(c);
integer++;
map.put(c,integer);
}else{
map.put(c,1);
}
}
map.forEach((character, integer) -> System.out.println(character+"-"+integer));
}

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

  1. 获取一个字符串中每一个字母出现的次数使用map集合

    package 获取字符串中单字符出现次数; import java.util.Scanner; import java.util.TreeMap; /* * 需求:获取一个字符串中每一个字母出现的次 ...

  2. 要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10;

    package text1; import java.util.ArrayList; import java.util.HashSet; /* * 要求产生10个随机的字符串, * 每一个字符串互相不 ...

  3. oracle中一个字符串包含另一个字符串中的所有字符

    oracle中一个字符串包含另一个字符串中的所有字符 --解决监理报告中所勾选的标段信息,与该用户所管理的标段字符串不匹配的问题. select * from a where instr(a,b)&g ...

  4. String 类中的几个练习--获取指定字符串中,大写字母、小写字母、数字的个数||获取一个字符串中,另一个字符串出现的次数

    package cn.homework.demo1; public class GetCount { /* * 获取一个字符串中,另一个字符串出现的次数 * 思想: * 1. indexOf到字符串中 ...

  5. Java 获取一个字符串中,另一个字符串出现的次数

    Java 获取一个字符串中,另一个字符串出现的次数 思想: 1. indexOf到字符串中到第一次出现的索引2. 找到的索引+被找字符串长度,截取字符串3. 计数器++ 代码实现: public cl ...

  6. 核心API的使用(给定一个字符串,统计每个字符出现的次数)

    /** * 给定一个字符串,统计每个字符出现的次数. 如:abdaewrwqask435a1aasd */public class ReplaceString { static int length; ...

  7. js 统计一个字符串中出现的字符最多的字符

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. C++ 删除一个字符串中的指定字符

    Q:一个数字是以xxx,yyy,zzz的字符串形式存储的,将逗号消去并转化为整数输出 方法一:char数组,即定义时s1定义为 char s1[20]的形式: //删除输入字符串中的逗号,并构建新串 ...

  9. 计算字符串中每种字符出现的次数[Dictionary<char,int>泛型集合用法]

    有一道经典的面试题: 统计 welcome to china中每个字符出现的次数,不考虑大小写.      第一个出现在脑海里的想法是: 1. 将字字符串转换成 char数组: 2. 用 for循环遍 ...

随机推荐

  1. Python自定义排序及我实际遇到的一些题目实例

    写在前面,本文主要介绍Python基础排序和自定义排序的一些规则,如果都比较熟悉,可以直接翻到第三节,看下实际的笔试面试题中关于自定义排序的应用. 一.基础排序 排序是比较基础的算法,与很多语言一样, ...

  2. Web安全学习笔记 SQL注入中

    Web安全学习笔记 SQL注入中 繁枝插云欣 --ICML8 权限提升 数据库检测 绕过技巧 一.权限提升 1. UDF提权 UDF User Defined Function,用户自定义函数 是My ...

  3. 4┃音视频直播系统之浏览器中通过 WebRTC 进行桌面共享

    一.共享桌面原理 共享桌面在直播系统中是一个必备功能 共享者:每秒钟抓取多次屏幕,每次抓取的屏幕都与上一次抓取的屏幕做比较,取它们的差值,然后对差值进行压缩:如果是第一次抓屏或切幕的情况,即本次抓取的 ...

  4. Redis设计与实现2.1:数据库和事件

    数据库和事件 这是<Redis设计与实现>系列的文章,系列导航:Redis设计与实现笔记 数据库 数据库的结构定义在 redis.h/redisServer 这个结构体中,这个结构体有许多 ...

  5. 渗透:wesside-ng

    WEP自动破解工具wesside-ng wesside-ng是aircrack-ng套件提供的一个概念验证工具.该工具可以自动扫描无线网络,发现WEP加密的AP.然后,尝试关联该AP.关联成功后,它会 ...

  6. 75. Sort Colors - LeetCode

    Question 75. Sort Colors Solution 题目大意: 给一个数组排序,这个数组只有0,1,2三个元素,要求只遍历一遍 思路: 记两个索引,lowIdx初始值为0,highId ...

  7. 443. String Compression - LeetCode

    Question 443. String Compression Solution 题目大意:把一个有序数组压缩, 思路:遍历数组 Java实现: public int compress(char[] ...

  8. 程序分析与优化 - 4 工作列表(worklist)算法

    本章是系列文章的第四章,介绍了worklist算法.Worklist算法是图分析的核心算法,可以说学会了worklist算法,编译器的优化方法才算入门.这章学习起来比较吃力,想要融汇贯通的同学,建议多 ...

  9. 场景实践:使用RDS和ECS搭建个人博客

    体验简介 本教程将使用一台基础环境为CentOS7.7的云服务器ECS实例, 搭配您已有的云数据库RDS实例,帮助您快速搭建属于自己的云上博客. 背景知识 本场景主要涉及以下云产品和服务: 阿里云关系 ...

  10. MySQL 事务常见面试题总结 | JavaGuide 审核中

    <Java 面试指北>来啦!这是一份教你如何更高效地准备面试的小册,涵盖常见八股文(系统设计.常见框架.分布式.高并发 ......).优质面经等内容. 本文原发于 MySQL知识点&am ...