`
eimhee
  • 浏览: 2147122 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. /**
  7.  * 对字符集中字符出现的次数继续排序。
  8.  * 
  9.  * @author 赵学庆 www.java2000.net
  10.  */
  11. public class T {
  12.   public static void main(String args[]) {
  13.     String str = "12345678hfdjkslahfkj932189oiefsjkar94werfdsf";
  14.     Map<Character, KeyValue> map = new HashMap<Character, KeyValue>();
  15.     char c;
  16.     KeyValue kv = null;
  17.     for (int i = 0; i < str.length(); i++) {
  18.       c = str.charAt(i);
  19.       kv = map.get(c);
  20.       if (kv == null) {
  21.         kv = new KeyValue();
  22.         kv.ch = c;
  23.         kv.count = 1;
  24.         map.put(c, kv);
  25.       } else {
  26.         kv.count++;
  27.       }
  28.     }
  29.     List<KeyValue> list = new ArrayList<KeyValue>(map.values());
  30.     Collections.sort(list);
  31.     for (KeyValue o : list) {
  32.       System.out.println(o.ch + "=" + o.count);
  33.     }
  34.   }
  35. }
  36. class KeyValue implements Comparable {
  37.   public int compareTo(Object obj) {
  38.     if (obj instanceof KeyValue) {
  39.       KeyValue kv = (KeyValue) obj;
  40.       return kv.count - this.count;
  41.     }
  42.     return -1;
  43.   }
  44.   char ch;
  45.   int count;
  46. }

运行结果

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











<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
分享到:
评论

相关推荐

    统计字符串中每个字符出现次数并排序工具

    标题中的"统计字符串中每个字符出现次数并排序工具"是一个实用的程序,它的主要功能是接收一段字符串输入,然后分析其中每一个字符的出现频次,并将这些字符按照出现次数由高到低进行排序。这样的工具在处理大量文本...

    讨论字符串中字符出现的次数

    此方法首先将字符串转换为字符数组并进行排序,然后遍历数组来统计每个字符的出现次数。 1. **字符数组排序**:将字符串转换为字符数组,并利用 `Arrays.sort()` 对数组进行排序。 2. **遍历统计**:遍历排序后的...

    汇编输入字符串对字符串进行冒泡排序

    本文将深入探讨如何使用汇编语言实现对输入字符串进行冒泡排序的过程,这对于理解和掌握汇编指令有着重要的意义。 首先,让我们了解冒泡排序的基本原理。冒泡排序通过不断交换相邻的逆序元素来逐步推进整个序列的...

    字符串排序

    字符串排序是指按照一定的规则对字符串中的字符进行重新排列的过程。这种排序可以是字母顺序、字典序或自定义的顺序等。在计算机科学中,字符串排序是数据处理、文本分析等场景中常见的需求。 #### 二、Java字符串...

    各种算法排序字符串和整数

    本文将深入探讨在C++中实现的七种排序算法:冒泡排序、插入排序、快速排序、归并排序、堆排序、计数排序和基数排序,并讨论如何应用它们对字符串和整数进行排序。这些算法在不同的场景下有不同的效率和适用性,理解...

    找到出现最多的数字和出现的次数,去除字符串中重复的数字,对去重后的字符串排序,代码规范

    找到出现最多的数字和出现的次数,去除字符串中重复的数字,对去重后的字符串排序,代码规范

    10亿个字符串的排序问题

    在字符串排序中,我们可以将每个字符串视为键值对(Key-Value)的输入,其中Key是字符串本身,Value可以为空。Map阶段将数据分片并进行局部排序,Reduce阶段则负责合并这些局部排序的结果,最终得到全局有序的字符串...

    Qt实现统计文本出现最高频次的字符

    在本文中,我们将深入探讨如何使用Qt框架来实现一个功能,该...通过这个实例,我们可以学习到Qt的UI设计、事件处理、字符串操作、数据结构(如`QMap`)以及数据模型的排序方法。希望这个指南对你在Qt编程中有所帮助。

    python实现字符串模糊匹配

    编辑距离的定义是指将一个字符串转换为另一个字符串所需的最少操作次数,包括插入、删除和替换操作。 Python 中可以使用 LevenshteinDistance 函数来计算两个字符串之间的编辑距离。 FuzzyWuzzy 是一个 Python 库,...

    Java求字符串中出现次数最多的字符串以及出现次数

    在Java编程中,统计字符串中出现次数最多的字符及其出现次数是一项常见的任务,尤其在数据处理和文本分析领域。本问题的解决方案使用了多种Java集合框架类,包括`TreeSet`、`ArrayList`、`HashMap`和`StringBuffer`...

    关于字符串包含的问题

    2. **O(mlogm) + O(nlogn) + O(m + n)的排序方法**:先对两个字符串分别进行排序,然后比较排序后的字符串是否相等。这种方法适用于字符串元素可以比较的情况,如字符。 3. **O(n + m)的计数排序方法**:使用哈希表...

    Python实现计算字符串中出现次数最多的字符示例

    在Python编程语言中,处理字符串是一项常见的任务,其中包括找出字符串中出现次数最多的字符。本文将通过两个示例来讲解如何实现这一功能。 首先,我们来看第一个示例: ```python ee = 'aa111(((bbhhhhhh%jjjjjj%...

    各种简单的排序算法(快速,合并,堆,计数,包含整数和字符串)

    可以使用上述整数排序算法(如计数排序)对字符串的ASCII值进行排序,但这不考虑字符串的实际含义。更复杂的字符串排序可能需要使用特定的排序算法,如基数排序,它按字符逐位进行排序,适用于长度相同或可预知长度...

    php获取字符串中各个字符出现次数的方法

    接下来,使用foreach循环遍历唯一字符数组,并通过substr_count函数计算每个唯一字符在原字符串中出现的次数,结果存储在数组$arr2中。最后,用arsort对$arr2进行降序排序。 这三种方法各有特点,其中,第一种方法...

    JS中判断字符串中出现次数最多的字符及出现的次数的简单实例

    标题和描述中提到的知识点主要是在JavaScript(简称JS)中如何实现一个简单的功能,即找出一个字符串中出现次数最多的字符以及对应的出现次数。以下是对这一功能实现过程的详细说明: 首先,要实现这一功能,需要...

    C++将一串带空格的数字字符串排序并统计重复元素输出

    在C++编程语言中,处理字符串以及对其进行各种操作是一项常见的任务。本问题涉及的主要知识点包括字符串处理、字符数组、字符转换、排序算法以及统计重复元素。以下是对这些知识点的详细解释: 1. **字符串处理**:...

    字符串处理中的常见问题

    **示例**:统计字符串中“good”出现的次数。 ```c #include #include int main() { char c1[80], c2[] = "good"; int n = 0; gets(c1); for (; strlen(c1) &gt;= strlen(c2); c1++) { if (!strncmp(c1, c2, ...

    字符串处理算法

    它是一种高效的字符串模式匹配算法,能够在一个较长的文本字符串S中快速找到一个较短的模式串T的出现位置。KMP算法的核心在于预处理模式串T,构造一个部分匹配表,以减少匹配过程中不必要的比较次数。简单匹配算法的...

    mysql字符串连接函数

    `GROUP_CONCAT()`函数主要用于聚合查询,它可以将一组值合并成一个字符串,并且可以对结果进行排序以及指定分隔符。 **完整的语法:** ```sql GROUP_CONCAT([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段]...

    C语言 字符串操作和二叉树遍历算法

    针对字符串的操作,包括查找子串,字符出现次数统计,字符串插入,字符串倒置等 二叉树,包括构造二叉树,遍历二叉树,又分为前序遍历,中序遍历和后序遍历等,其中生成二叉树的顺序以文件中所附图为准。 还包括链表...

Global site tag (gtag.js) - Google Analytics