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

有一个字符串String="a,ab,abc,a,b,ab,abc,abced",现在需要统计这个字符串中所有的字符并将该字符出现的次数输出,即输出成这种形状:字符:a,... 有一个字符串String="a,ab,abc,a,b,ab,abc,abced",现在需要统计这个字符串中所有的字符并将该字符出现的次数输出,即输出成这种形状:字符:a,出现次数:两次;字符:ab,出现次数:两次,字符:abc,出现次数两次;字符:b,出现次数:一次;字符:abcde,出现次数:一次 展开
 我来答
菁英体育
2013-07-18 · 超过21用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:44.1万
展开全部
用string类的spilt()方法以逗号作为分隔符吧String="a,ab,abc,a,b,ab,abc,abced"的数组分成"a" "ab" "abc" "a," "b""ab,""abc""abced"。。。等等几个单个的数组,然后在统计每个的个数,输出即可。。。
追问
思想谁都知道,要源代码
追答
学Java自己不动手怎么能学的好那。。。什么都要别人做还学他作甚!
198901245631
推荐于2016-07-29 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1737万
展开全部

实现思路:就是将字符串变为一个一个的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)+",");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风霜紫兰
推荐于2016-08-05 · TA获得超过671个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:340万
展开全部
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的键值对有默认排序。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式