Java统计中的计数方法
这里介绍两种计数方法:一种是采用HashMap来计数,另一种计数是针对26个字母的计数方法。
- 方法一:使用hashMap,它的map.put(xx,map.getOrDefault(a[i],0)+1)==>实现计数;在通过它的key,获得它的value值
- 代码:
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
String s=scanner.next();
char a[]=s.toCharArray();//把字符串转换成字符数组
HashMap<Character, Integer>map=new HashMap<Character, Integer>();
for(int i=0;i<a.length;i++) {
map.put(a[i], map.getOrDefault(a[i],0)+1);//如果map.get(x)x不在就会报错,getOrDefault(c,0)如果没有就返回0,不会报错,如果存在就加1==就统计数了
}
List<Character>list=new ArrayList<Character>();
//遍历hashmap
int max=0;
for(char key:map.keySet()) {//keyset里面存放map的所有key
int x=map.get(key);//通过key取map的值
if(x>max) {
list.clear();//清空集合
list.add(key);
max=x;
}else if(x==max) {
list.add(key);
}
}
for(char c:list) {
System.out.print(c);
}
// System.out.println(map.toString());}
- 方法二:适用于26个字母的统计
- 首先:把获得的字符串遍历,得到字符
代码:for(int i=0;i<s1.length();i++){
char c=s1.chartAt(i);
}
2放入到数组中去:开辟一个长度为26的数组,思想就是,字符减去a得到一个数就是数组的下 标。Eg:a-”a”=0,因为ascall值
代码:sm[c-”a”]++;实现存入和计数。
- 代码:
列子:
代码:
static int[]ms=new int[26];
static int[] mt=new int[26];public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
String s1=scanner.next();
String s2=scanner.next();
for(int i=0;i<s1.length();i++){
char c=s1.charAt(i);
ms[c-'a']++;
}
for(int i=0;i<s2.length();i++){
char b=s2.charAt(i);
mt[b-'a']++;
}
for(int i=0;i<26;i++) {
if(ms[i]<mt[i]) {
System.out.println("NO");
return;
}
}
System.out.println("YES");}
Java统计中的计数方法相关推荐
- java多线程中的join方法详解
java多线程中的join方法详解 方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. 自从接触Java多线程,一直对Join理解不了.JDK是这样说的:join p ...
- Shell-通过shell启动Java类中的main方法 + 通过Shell启动jar包
文章目录 概述 shell启动Java类中的main方法 启动脚本分析 启动脚本 shell启动jar包 概述 Java程序 运行在linux主机上, 通过shell脚本启动为进程. Java程序中 ...
- Java 输出流中的flush方法
Java 输出流中的flush方法 Java中的IO流中的输出流一般都有flush这个操作,这个操作的作用是强制将缓存中的输出流(字节流,字符流等)强制输出. 为什么会有这么个方法啊? 因为输出流在进 ...
- Java 8 中的工厂方法模式
为什么80%的码农都做不了架构师?>>> 先唠叨一句工厂方法模式的定义: 定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类.工厂方法让类的实例化推迟到子类中进行. ...
- Java 8中的默认方法(Defender方法)简介
我们都知道Java中的接口仅包含方法声明,而没有实现,并且任何实现该接口的非抽象类都必须提供实现. 让我们看一个例子: public interface SimpleInterface {public ...
- Java1.8接口方法都是抽象,判断(1分) Java接口中所有的方法都是抽象的。
判断(1分) Java接口中所有的方法都是抽象的. 更多相关问题 [配伍题,B型题] (1).木瓜(). (2).独活().(3).防己().(4).蕲蛇(). [比较题] (1).质硬不易折断的是( ...
- 编写高质量代码:改善Java程序的151个建议 (第1章 Java开发中通用的方法和准则)
第1章 Java开发中通用的方法和准则 The reasonable man adapts himself to the world;the unreasonable one persists in ...
- Java 8中Collectors.groupingBy方法空指针异常源码分析
现在有这样的一个需求:老板让把所有的员工按年龄进行分组,然后统计各个年龄的人数. 这个需求,如果是在数据库中,可以直接使用一个 group by 语句进行统计即可,那么在 Java 中的话,可以借助于 ...
- 01-第一章 Java开发中通用的方法和准则
建议1:不用在常量和变量中出现易混淆的字母 包括名全小写,类名首字母全大写,常量全部大写并用下划线分割,变量采用驼峰命名法(Camel Case)命名等. 例如: package com.compan ...
最新文章
- OpenCV+python:像素运算
- sublime几个插件
- 毕设笔记1----div样式
- vivado----fpga硬件调试 (七)----数据导出并用MATLAB读取
- 时尚经典 体验云桌办公经典时尚办公方式
- pythonsuper函数_认识python中的super函数
- Java中由substring方法引发的内存泄漏
- R语言数据转换(split-apply-combin…
- 关于Sql语句的心得体会
- python logging简单使用
- java 泛型强制转换_java – 使用泛型强制转换为内部类
- 20220123:力扣第277场周赛(上)
- knowndlls反劫持
- OpenCV 视频捕捉
- 数据可视化-制作交易收盘价
- java 自幂数_java计算自幂数和水仙花数
- Python深度学习-快速指南
- 【往届四个月检索,EI会议】第二届通讯技术与信息科技国际学术会议(ICCTIT 2022)
- torchtext field.build_vocab问题
- 【C语言】C语言概述