统计用户输入的字符串中每个字符出现的次数(使用集合,最后用map集合表示粗来)
程序员文章站
2022-04-17 22:43:42
...
统计用户输入的字符串中每个字符出现的次数:
public class map {
public static void main(String[] args) {
method01();
}
private static void method01() {
System.out.println("请输入一串随机字母,本次程序将显示一个map类型的集合:");
String a = new Scanner(System.in).nextLine();
/**将string转为char数组以便转换为arraylist类*/
char[] b = a.toCharArray();
// System.out.println(b);//打桩输出该string转换后的数组
/**创建各种集合方便调用方法*/
ArrayList<Character> c = new ArrayList<>();//创建arraylist数组
HashSet<Character> d = new HashSet<>();//创建
Map<Object, Integer> ha = new HashMap<>();
/**将数组转为arraylist集合*/
for (int i = 0; i < b.length; i++) {
c.add(b[i]);
}
/**将arraylist转换为hashset类,并且去重*/
for (Character ch:b) {
d.add(ch);
}
/**遍历元素*/
Iterator<Character> cha = d.iterator();
char[] e= new char[d.size()-1];
/**遍历hashset里的元素*/
while (cha.hasNext()){
/**记录元素方便给map赋值*/
Object l = cha.next();
/**每删除一次arraylist中的某个元素记录一次*/
int b1 = 0;
while (c.remove(l)){
b1++;
}
/**给map赋值*/
ha.put(l,b1);
}
System.out.println(ha);
}
}
结果为:
java请输入一串随机字母,本次程序将显示一个map类型的集合:
dsfsdafsdfsdfsdfdsfsdf
[a, s, d, f]
{a=1, s=7, d=7, f=7}
一千个读者有一千个哈姆雷特,每个人的想法都不一样,求同存异!!!!!!
!