java查询String中所有的元素并输出重复次数

有一个字符串String="a,ab,abc,a,b,ab,abc,abced",现在需要统计这个字符串中所有的字符并将该字符出现的次数输出,即输出成这种形状:字符:a,出现次数:两次;字符:ab,出现次数:两次,字符:abc,出现次数两次;字符:b,出现次数:一次;字符:abcde,出现次数:一次

用string类的spilt()方法以逗号作为分隔符吧String="a,ab,abc,a,b,ab,abc,abced"的数组分成"a" "ab" "abc" "a," "b""ab,""abc""abced"。。。等等几个单个的数组,然后在统计每个的个数,输出即可。。。追问

思想谁都知道,要源代码

追答

学Java自己不动手怎么能学的好那。。。什么都要别人做还学他作甚!

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-07-29

实现思路:就是将字符串变为一个一个的char类型,之后进行循环计数,同样的加1,之后输出计算结果。

import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
String s = "abcdaebijkd";
ArrayList list = new ArrayList();
for(int i=0; i<s.length(); i++){
char c = s.charAt(i);
if(s.indexOf(c,i+1)>-1){
Character ch = new Character(c);
if(!list.contains(ch))
list.add(ch);
}
}
for(int i=0; i<list.size(); i++)
System.out.print(list.get(i)+",");
}
}

第2个回答  推荐于2016-08-05
String input ="a,ab,abc,a,b,ab,abc,abced";
TreeMap<String,Integer> stringMap = new TreeMap<String,Integer>();
String[] array = input.split(",");
for (int i = 0; i < array.length; i++) {
if(array.equals("") == false){
if(stringMap.containsKey(array[i])){
stringMap.put(array[i], stringMap.get(array[i])+1);
}else{
stringMap.put(array[i], 1);
}
}
}

Iterator<String> it = stringMap.keySet().iterator();
while(it.hasNext()){
String c = it.next();
int count = stringMap.get(c);
System.out.println("字符:"+c+",出现次数:"+count+"次");
}追问

hashMap和TreeMap什么区别啊

追答

hashMap的键值对无序的。
TreeMap的键值对有默认排序。

本回答被提问者采纳
相似回答