(一)ArrayList的实现方法
public class CountStringsArrayList {
public static void main(String[] args) {
String string = "wermnxmnio34oi9xnmsdkfje";//这里可以是任意字符串
ArrayList<Character> list = new ArrayList<>();
char[] chars = string.toCharArray();//将字符串转化成字符数组
for (int i = 0; i < chars.length; i++) {
char aChar = chars[i];
list.add(aChar);//将字符数组元素添加到集合中
}
System.out.println(list);//打印测试
for (int i = 0; i < list.size(); i++) {//遍历集合取出每个字符
int count = 0;//定义计数器
Character character = list.get(i);
for (int j = 0; j < chars.length; j++) {//遍历数组取出每个字符和集合中的元素比较
char aChar = chars[j];
if (character.equals(aChar)){//如果集合中的元素有等于数组中的字符,计数器加1
count++;
}
}
System.out.println(character + "出现了" + count + "次");//打印结果
}
}
}
(二)字符串的实现方法
public class CountStrings {
public static void main(String[] args) {
String str = "dfgkopercvvbnjklxjhcoiwejrksdlffg黄金时代到合肥库货到付款赋给";
int count = 0;//统计单个字符出现的次数
for (int i = 0; i < str.length(); i++) {
int old_length = str.length();
char c = str.charAt(0);
//定义一个字符等于字符串第一个字符.每次统计完会将统计过的字符替换掉.
String new_str=str.replaceAll(c+"", "");//定义一个新字符串将出现的字符
//赋给一个新的字符串
int new_length=new_str.length();
count = old_length - new_length;//旧的长度减去新的长度就是字符出现的 次数
str=new_str;//将替换并统计过次数的字符串赋给原来的字符串,便于下一次遍历
System.out.println("字符" + c + "出现了" + count + "次");
}
}
}
用字符串做的核心思想就是把字符串的第一个元素用空字符串替换掉.然后用原来的字符串长度减掉替换掉的字符串长度.就是单个字符出现的次数