統(tǒng)計字符串中每個字符出現的次數(第一種寫法)
package day14;
/*
*統(tǒng)計字符串中每個字符出現的次數
*/
import java.util.Collection;
import java.util.HashMap;
import java.util.Scanner;
public class MapTest
{
public static void main(String[] args)
{
System.out.println("請輸入一個字符串:");
String str=new Scanner(System.in).nextLine();
findChar(str);
}
public static void findChar(String str)
{
HashMap<Character, Integer> map = new HashMap<>();
for (int i = 0; i <str.length() ; i++) {
char c=str.charAt(i);
if(!map.containsKey(c))
{
map.put(c,1);
}
else
{
Integer count=map.get(c); //先獲取原來出現的次數
map.put(c,++count);
}
}
System.out.println(map);
}
}
統(tǒng)計字符串中每個字符出現的次數(第二種寫法)
package day14;
/*
*統(tǒng)計字符串中每個字符出現的次數
*/
import java.util.HashMap;
public class MapTest1
{
public static void main(String[] args)
{
findChar("xgsfxgsfxgf");
}
public static void findChar(String str)
{
HashMap<Character, Integer> map = new HashMap<>();
char[] arr=str.toCharArray(); //字符串轉換為字符數組
for (char c:arr //定義一個字符串c,循環(huán)遍歷arr數組
) {
map.put(c,!map.containsKey(c)?1:(map.get(c)+1));
}
for(Character c:map.keySet()) //map.keySet()代表所有鍵的集合,進行格式化輸出
{
System.out.println(c+":"+map.get(c));
}
}
}