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,出现次数:一次
展开
展开全部
实现思路:就是将字符串变为一个一个的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)+",");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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+"次");
}
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的键值对有默认排序。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询