使用Java根据重复字符的次数对字符串进行降序排序

Gangadhar B

在这里,我有两个字符串来打印每个字符发生了多少次,但我希望结果按降序排列。

 public static void main(String[] args) {
    TreeMap tm = new TreeMap();
    String s = "ajklfajdlkfajsdklfjalljaklsdfjaklsdjf";
    int[] counts = new int[128];
    for (int i = 0; i < s.length(); i++) {
        char ch = s.charAt(i);
        if (ch < 128) {
            counts[ch]++;
        } else {
            System.out.println("out of range");
        }
    }
    for (char c = 0; c < 128; c++) {
        if (counts[c] != 0) {
            tm.put(counts[c], c);
  //                System.out.println(c + " occured " + counts[c] + "times");
        }
    }
    for(int i=0;i<tm.size();i++){
        System.out.println(tm.get(i));
    }
   }

这段代码给出的输出为:null,null,null,s,d,但我需要输出为:jlafkds。请指导我。

马修五世凯里

我的答案可能与其他答案很像,但我努力保持原始代码的精神,他们只是在编写时更快。

package uk.co.puce4.charactercount;

import java.util.Iterator;
import java.util.TreeMap;
import java.util.TreeSet;


public class CharacterCount {
public static void main(String[] args)
{ 
    TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();

    String s = "ajklfajdlkfajsdklfjalljaklsdfjaklsdjf"; 

    for (int i = 0; i < s.length(); i++) { 
        char ch = s.charAt(i); 
        int count = 1;
        if(tm.containsKey(ch)){
            count=tm.get(ch) + 1;
        }
        tm.put(ch, count);
    }

    TreeSet<CharItem> ts = new TreeSet<CharItem>(); 
    Iterator<Character> it = tm.descendingKeySet().iterator();

    while (it.hasNext()){
        char ch = (char) it.next();
        int count = tm.get(ch);
        CharItem ci= new CharItem(ch, count);
        ts.add(ci);
        }
        Iterator<CharItem> it2 = ts.iterator(); 
        while(it2.hasNext()){
            CharItem ci=it2.next();
            System.out.println(ci.getCh() + " occured " + ci.getCount() + " times"); 
        }
    }
}

class CharItem implements Comparable<CharItem>{
    private int count;
    private char ch;
    public CharItem(char c, int i){
        count = i;
        ch = c;
    }
    public char getCh() {
        return this.ch;
                }
    public int getCount() {
        return this.count;
        }

    @Override
    public int compareTo(CharItem b) {
        return b.count - this.count ;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Java根据重复字符的次数对字符串进行降序排序

来自分类Dev

如何使用Java中的map集合按字符串中出现的次数对字符进行排序?

来自分类Dev

Python根据列表中字符串的出现次数对字符串进行排序

来自分类Dev

java根据库尔德字符对字符串数组进行排序

来自分类Dev

按降序对字符串数组进行排序

来自分类Dev

如何按降序对字符串向量进行排序?

来自分类Dev

如何按降序对字符串编号进行排序?

来自分类Dev

使用Regex根据条件对字符串进行排序

来自分类Dev

Java字符串arrayList:以降序对元素进行排序(如数学中的多项式)

来自分类Dev

如何使用Bash按降序对发行版本字符串进行排序

来自分类Dev

按降序对字符串排序的方法(使用复杂键)

来自分类Dev

如何使用 Sed 或 Perl 根据字符串的第二列数以降序方式对给定的文本文件进行排序

来自分类Dev

字符串的插入排序(降序)

来自分类Dev

Java-对字符串列表进行排序,根据字符串的内容确定顺序

来自分类Dev

突变功能:对字符串进行排序并删除重复的字符

来自分类Dev

Python根据列表中字符串的出现次数对字符串排序

来自分类Dev

在Java中使用字符串对选择进行排序?

来自分类Dev

使用Java对字符串数组进行排序

来自分类Dev

Java如何根据排序值对字符串数组进行排序?

来自分类Dev

计算字符串中子字符串重复的次数

来自分类Dev

使用Java的字符串中的字符的次数?

来自分类Dev

添加重复的字符串键以使用foreach进行映射,其中value是重复次数

来自分类Dev

MATLAB:如何根据重复编号对字符串进行除法

来自分类Dev

根据方括号中的值对字符串进行排序

来自分类Dev

根据长度对字符串数组进行排序

来自分类Dev

根据字符串变量对行进行重新排序

来自分类Dev

根据对象数组对字符串数组进行排序

来自分类Dev

根据数字数组对字符串数组进行排序

来自分类Dev

Scala根据令牌的长度对字符串进行排序

Related 相关文章

  1. 1

    使用Java根据重复字符的次数对字符串进行降序排序

  2. 2

    如何使用Java中的map集合按字符串中出现的次数对字符进行排序?

  3. 3

    Python根据列表中字符串的出现次数对字符串进行排序

  4. 4

    java根据库尔德字符对字符串数组进行排序

  5. 5

    按降序对字符串数组进行排序

  6. 6

    如何按降序对字符串向量进行排序?

  7. 7

    如何按降序对字符串编号进行排序?

  8. 8

    使用Regex根据条件对字符串进行排序

  9. 9

    Java字符串arrayList:以降序对元素进行排序(如数学中的多项式)

  10. 10

    如何使用Bash按降序对发行版本字符串进行排序

  11. 11

    按降序对字符串排序的方法(使用复杂键)

  12. 12

    如何使用 Sed 或 Perl 根据字符串的第二列数以降序方式对给定的文本文件进行排序

  13. 13

    字符串的插入排序(降序)

  14. 14

    Java-对字符串列表进行排序,根据字符串的内容确定顺序

  15. 15

    突变功能:对字符串进行排序并删除重复的字符

  16. 16

    Python根据列表中字符串的出现次数对字符串排序

  17. 17

    在Java中使用字符串对选择进行排序?

  18. 18

    使用Java对字符串数组进行排序

  19. 19

    Java如何根据排序值对字符串数组进行排序?

  20. 20

    计算字符串中子字符串重复的次数

  21. 21

    使用Java的字符串中的字符的次数?

  22. 22

    添加重复的字符串键以使用foreach进行映射,其中value是重复次数

  23. 23

    MATLAB:如何根据重复编号对字符串进行除法

  24. 24

    根据方括号中的值对字符串进行排序

  25. 25

    根据长度对字符串数组进行排序

  26. 26

    根据字符串变量对行进行重新排序

  27. 27

    根据对象数组对字符串数组进行排序

  28. 28

    根据数字数组对字符串数组进行排序

  29. 29

    Scala根据令牌的长度对字符串进行排序

热门标签

归档