遇到的機(jī)試題
import java.util.*;
public class Demo{
public static void main(String args[])throws Exception{
String str = "skjaghakioutreitou"; //要檢索的字符串
char[] arr = str.toCharArray(); //將字符串轉(zhuǎn)換成字符數(shù)組
Map<Character,Integer> map = Demo.charNoum(arr); // 直接在主方法中調(diào)用檢索的方法,返回一個(gè)map集合
Iterator it = map.entrySet().iterator(); //使用iterator遍歷map集合
while(it.hasNext()){
Map.Entry p = (Map.Entry)it.next();
System.out.println(p.getKey()+"出現(xiàn)的次數(shù)是:"+p.getValue());
}
}
public static Map<Character,Integer> charNoum(char[] args){ //傳入的參數(shù)是字符數(shù)組,返回map集合
Map<Character,Integer> map = new TreeMap<>(); //實(shí)例化一個(gè)treeMap
for(int i=0;i<args.length;i++){
char temp = args[i]; //遍歷得到每個(gè)字符
if(!map.containsKey(temp)){ //判斷字符是否在key中存在既峡,不存在初始化為1
map.put(temp,1); // 字符自動(dòng)裝箱為Character對(duì)象
}else{
int auto = map.get(temp)+1; // 如果存在,通過(guò)key取出value 將數(shù)值加1
map.put(temp,auto);
}
}
return map;
}
}