对字符串中字符出现的次数进行排序

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 *  对字符串中字符出现的次数进行排序。
 * 
 * @author 赵学庆 www.java2000.net
 */
public class T {
  public static void main(String args[]) {
    String str = "12345678hfdjkslahfkj932189oiefsjkar94werfdsf";
    Map<Character, KeyValue> map = new HashMap<Character, KeyValue>();
    char c;
    KeyValue kv = null;
    for (int i = 0; i < str.length(); i++) {
      c = str.charAt(i);
      kv = map.get(c);
      if (kv == null) {
        kv = new KeyValue();
        kv.ch = c;
        kv.count = 1;
        map.put(c, kv);
      } else {
        kv.count++;
      }
    }
    List<KeyValue> list = new ArrayList<KeyValue>(map.values());
    Collections.sort(list);
    for (KeyValue o : list) {
      System.out.println(o.ch + "=" + o.count);
    }
  }
}

class KeyValue implements Comparable {
  public int compareTo(Object obj) {
    if (obj instanceof KeyValue) {
      KeyValue kv = (KeyValue) obj;
      return kv.count - this.count;
    }
    return -1;
  }

  char ch;

  int count;
}

 运行结果

f=5
j=3
k=3
s=3
9=3
d=2
e=2
a=2
h=2
3=2
2=2
1=2
r=2
4=2
8=2
o=1
l=1
i=1
w=1
7=1
6=1
5=1

基于Simulink的无线充电系统LCC补偿网络建模与控制 本文详细介绍了基于Simulink的无线充电系统LCC补偿网络建模与控制方法。首先分析了无线充电系统面临的核心挑战,提出LCC补偿网络解决方案,阐述了其恒流输出和输入阻抗解耦原理。通过Simulink分步演示了系统建模过程,包括松耦合变压器、LCC+LC补偿网络、功率变换级搭建以及频率跟踪控制实现。仿真结果表明,LCC补偿系统在气隙变化和负载跳变下能保持输出电压稳定(波动±3%),效率达89%。文章还总结了工程实现要点,并探讨了动态充电、多负载系统等扩展应用。该教程为开发高效智能的无线充电系统提供了实用指导 阅读详情

相关推荐

ArcGISPro小白必看:5分钟搞定3D地形图制作(附免费数据源)

本文为ArcGISPro初学者提供5步制作专业3D地形图的完整指南,涵盖免费数据获取、项目初始化、数据预处理、3D场景构建和成果输出等关键步骤。特别推荐使用NASA的SRTM高程数据和吉林一号卫星影像,帮助用户快速掌握3D地形图制作技巧,适用于教学演示和科研分析。

weixin_28314575的博客 244

Python 随机输入一个字符串,统计该字符串中各种字符出现的次数,并将统计结果按照字符出现次数从高到低进行排序,最终打印排序后的信息

关于sorted():result = sorted(字典.items(), key=lambda item: item[1], reverse=True)# 根据value降序排序后的键值对reverse默认为False(升序),True为降序item:item【1】代表按照字典的值进行排序,若为item:item【0】则是按照字典的键按照ASCALL码进行排序。

Bluefox3183的博客 4334

AutoCAD Plant 3D自定义零件库实战:手把手教你用Python创建参数化槽式三通

本文详细介绍了如何利用Python脚本在AutoCAD Plant 3D中创建参数化槽式三通组件,从API原理到实战开发,帮助用户构建高效的自定义零件库。通过Python装饰器系统控制零件属性和行为,实现几何建模、参数管理和规格编辑器集成,提升工业管道设计的标准化和效率。

weixin_28267011的博客 336

为字符串里的字符排序(采用最简单的选择法)

#include <stdio.h> #include <string.h> void swap(char *a,char* b); int main(){ char str[100]; char min; gets(str); //printf("%s",str); // min = str[0]; //printf("test 1"); for(int i = 0 ; i<strlen(str)-1;i++) {

xuchaoxin1375的博客 1547

不止是打字机效果:手把手教你用SpannableStringBuilder打造Android富文本AI对话界面

本文详细介绍了如何使用SpannableStringBuilder在Android平台上构建专业级AI对话界面,涵盖流式文本处理、富文本解析、交互优化等核心技术。通过实战代码示例,帮助开发者实现类似DeepSeek的AI产品交互效果,提升用户体验和应用专业度。

weixin_28358083的博客 199

零代码进行单细胞数据全流程分析教程

我开发的本地电脑无限使用无限分析作图的生信零代码一键分析电脑软件神器OmicsTools 软件在github上的zihaoxingstudy1/OmicsTools仓库 中,大家可以下载安装OmicsTools进行各种生信分析和可视化作图。

qq_40073899的博客 3636

对简单字符串的排序整理(简单的2种方法)

一、用sort对字符串排序 1.sort可以对string排序 我在做题的时候发现我用sort对string排序的语句判错。 我最开始写的代码是 string s; cin>>s; int len=s.length(); sort(s,s+len); 我的天,我现在看见我这么写,我真想给自己一下子。现在因为返乡隔离什么的大脑都已经混乱了,我想我真是封的疯了。 在我查找相关的资料之后,终于大彻大悟,醍醐灌顶。正确代码如下: string s

xiatutut的博客 1万+

Windows Server 2019整机备份与异机还原实战:从虚拟机到物理机的完整迁移指南

本文详细介绍了Windows Server 2019整机备份与异机还原的实战操作,涵盖从虚拟机到物理机的完整迁移流程。通过环境准备、备份策略设计、具体操作步骤及迁移后优化等内容,帮助用户实现系统环境的无缝迁移,特别适用于服务器硬件升级、数据中心迁移等场景。

weixin_30555125的博客 135

把字符串中的字符进行排序

把字符串中的字符进行排序:把字符串中的字符进行排序、toCharArray( ):把字符串转换为字符数组、valueOf( ):把字符数组转换为字符串。1、把字符串中的字符进行排序。    举例:"dacgebf"     结果:"abcdefg"分析:    A: 定义一个字符串     B: 把字符串转换为字符数组    C: 把字符数组进行排序    D: 把排序后的字符数组转成字符串   ...

风暴计划 1万+

一站式讲解Wireshark网络抓包分析的若干场景、过滤条件及分析方法

本文详细讲解常用的抓包工具、抓包分析的网络场景、分析抓包时的多种过滤条件以及如何结合常用的协议去分析排查问题,给大家提供一个借鉴或参考。

dvlinker的技术专栏 5万+

[网络安全自学篇] 二.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记

最近开始学习网络安全相关知识,接触了好多新术语,感觉自己要学习的东西太多,真是学无止境,也发现了好几个默默无闻写着博客、做着开源的大神。接下来系统分享一些网络安全的自学笔记,希望读者们喜欢。 上一篇文章分享了看雪Web安全总结知识和一个异或解密的示例,本篇文章着重讲解Chrome浏览器保留密码功能渗透解析及登录加密入门笔记,结合实际例子一步步实现浏览器漏洞的挖掘。非常基础的文章,希望对入门的博友们有帮助,大神请飘过,谢谢各位看官!

杨秀璋的专栏 2万+

LeetCode-Day110(C++) 451. 根据字符出现频率排序

根据字符出现频率排序 给定一个字符串,请将字符串里的字符按照出现的频率降序排列。 示例 1: 输入: “tree” 输出: “eert” 解释: 'e’出现两次,'r’和’t’都只出现一次。 因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。 示例 2: 输入: “cccaaa” 输出: “cccaaa” 解释: 'c’和’a’都出现三次。此外,"aaaccc"也是有效的答案。 注意"cacaca"是不正确的,因为相同的字母必须放在一起。 示例 3: 输入: “Aabb” 输.

weixin_45401129的博客 578

小龙虾OpenClaw卸载全攻略,彻底清理缓存和配置,干净无残留!

不想要的小龙虾OpenClaw怎么彻底卸载?🦞本文教你如何彻底的卸载OpenClaw⚡️,Windows/macOS/Linux通用,干净无残留🧹

XiaoqiangClub的博客 317

统计字符串中字符出现次数以及排序

题目是这样的,对字符串“sdfgzxcvasdfxcvdf”每个字符出现次数并对其排序 public static void main(String[] args) { //统计字符串中英文字符的出现次数 String string = "sdfgzxcvasdfxcvdf";

学海无涯 4374

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java寻找字符串中出现次数最多的字母和次数、两个字符串中寻找最长子字符串、字符串排序

1.一个字符串中可能包含有a~z中的多个字符,如有重复,如String data="zassdrttyhhkjhjoiubvnvmkweqdqwe",         求出现次数最多的那个字母及出现的次数,如有多个重复的,都求出。 import java.util.ArrayList; import java.util.Collections; import java.util.HashMap

gongwq的博客 5642

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

找出字符串中出现次数最多的数字及次数去重后并排序.

找出字符串中出现次数最多的数字及次数去重后并排序. step1:找到出现最多的数字和出现的次数 var str = '85872637471533203552943982' // 定义一个空对象 var obj = {} // 遍历字符串 for (var i = 0; i < str.length; i++) { // str[i]得到的是对应索引下的某个字符串 // 如果对象中有这个字符

weixin_38007986的博客 1782

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

字符串排序次数---冒泡排序变形

找规律的题,想通很简单,没想通就难搞 问题描述 小蓝最近学习了一些排序算法,其中冒泡排序让他印象深刻。 在冒泡排序中,每次只能交换相邻的两个元素。 小蓝发现,如果对一个字符串中的字符排序,只允许交换相邻的两个字符,则所有可能的排序方案中,冒泡排序的总交换次数是最少的。 例如,对于字符串lan排序,只需要1次交换。对于字符串qiao排序,总共需要4次交换。 小蓝找到了很多字符串试图排序,他恰巧碰到一个字符串,需要100次交换,可是他忘记了把这个字符串记下来,现在找不到了。 请帮助小蓝找一个包含小写英文字母且没

mycocoo的博客 395

HashMap排序问题 & 字符串出现次数的TopK问题

字符串出现次数的TopK问题 即HashMap的排序问题。 描述 给定一个字符串数组,再给定整数k,请返回出现次数前k名的字符串和对应的次数。 返回的答案应该按字符串出现频率由高到低排序。如果不同的字符串有相同出现频率,按字典序排序。 对于两个字符串,大小关系取决于两个字符串从左到右第一个不同字符的 ASCII 值的大小关系。 比如"ah1x"小于"ahb",“231”<”32“ 字符仅包含数字和字母 [要求] 如果字符串数组长度为N,时间复杂度请达到O(N \log K)O(NlogK) 示例1 输

梦否 585

【算法-字符串】统计一个字符串中字符出现的次数,按照出现次数升序排序,如果出现次数相同则按照字典顺序,如果有大写则大写出现在小写之后

【算法-字符串】统计一个字符串中字符出现的次数,按照出现次数升序排序,如果出现次数相同则按照字典顺序,如果有大写则大写出现在小写之后 public class Main { public static void main(String[] args) { HashMap<Character, Integer> hashMap = new HashMap(); Scanner scanner = new Scanner(System.in); .

runewbie的博客 2613

字符串出现次数降序排序出来

字符串出现次数降序排序出来

qq_60839348的博客 225

js 统计字符串中字符出现的次数并排序

如题,先统计,在排序 var ary = "asasDFGHadDfFFhjkMNJGBHGDsdfghjfghjkdfghjkl"; var obj = {}; var i = 0; var objArr = []; ary1 = ary.toLocaleLowerCase(); //将字符串转为小写 for(i = 0; i < ary1.length; i++) { key ...

me_never的博客 2064

java 根据字符串数组元数出现的次数排序

数组相关视频讲解:数组-Go代码演示数据结构与算法-栈-Go代码演示版Java中根据字符串数组元素出现次数排序 在Java编程中,经常会遇到需要对字符串数组中的元素按照出现次数进行排序的需求。这种需求通常涉及到统计每个元素出现的次数,然后根据次数进行排序。本文将介绍如何使用Java语言实现这一功能,并给出相应的代码示例...

weixin_29521135的博客 202

字符串数组排序+一个字符串在另一字符串中出现的次数

import java.util.Arrays; public class StringSort { /* * 需求: * 给定一个字符串数组。按照字典的顺序进行从小到大的排序 * {"nba","abc","cba","zz","qq","lala","nima","haha","iloveyou"} * * 思路: * 1)排序首先想到的是对整数的排序,对

Sun2401的博客 490

输入一段字符串按出现次数排序

#pragma warning(disable:4996) #include <stdio.h> #include<iostream> #include<vector> #include<string> using namespace std; using std::cout; using std::cin; using std::vector;...

chinamaoge的博客 618

python字符串排序(按输入顺序/按字符出现次数/按字符)

''' abcccab 控制台输入abcccab  第一版按照控制台输入进行排版,第二版按字符出现次数,第三版按字符顺序(a.b.c..的顺序)排版 a=2 b=2 c=3 c=3 b=2 a=2 c=3 a=2 b=2 '' ''' 法一利用类+列表 进行排序操作 ''' class charAndCount:     def __init

free97zl的博客 1万+

C++ 统计字符串中每个字符出现的次数,并按照字符出现的次数排序

C++  统计字符串中每个字符出现的次数,并按照字符出现的次数排序此题为58同城的2018年研发实习生笔试题#pragma warning(disable:4996)#include &lt;stdio.h&gt;#include&lt;iostream&gt;#include&lt;vector&gt;#include&lt;string&gt;using namespace std;using...

liumoude6的博客 1万+
上一篇: HTTP多线程断点续传下载的尝试
下一篇: 将Tomcat解压缩版变成服务形式运行
java2000_test
博客等级 码龄19年 10粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值