创建集合,集合存放随机生成的30个小写字母
求出字符串里每种字符可能出现的次数
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
Random rand = new Random();
for (int i = 0; i < 30; i++) {
list.add((char)(rand.nextInt(26)+97)+"");
}
System.out.println("生成了集合:");
System.out.println(list);
System.out.println("a:" + listTest(list,"a"));
System.out.println("b:" + listTest(list,"b"));
System.out.println("c:" + listTest(list,"c"));
System.out.println("d:" + listTest(list,"d"));
System.out.println(HashTest(list));
}
//指定求出某些元素的出现次数
public static int listTest(ArrayList<String> list, String str){
int count = 0;
for (String lists : list) {
if(str.equals(lists)) count++;
}
return count;
}
//求出每个元素的出现次数
public static HashMap<String,Integer> HashTest(ArrayList<String> list){
HashMap<String, Integer> map = new HashMap<>();
for (String list1 : list) {
int count = map.getOrDefault(list1,0);
map.put(list1,++count);
}
return map;
}
思路:
用for循环包含 ascii码表转换char类型 得出一个小写的字符串,并且用ArrayList接收
静态方法listTest():传入字符串集合和要统计的字符 返回字符的出现次数
静态方法HashTest():传入字符串集合 用一个HashMap统计对应的每个字符和出现次数 最后返回这个map