Map是一个很重要的集合框架,它以键值对的方式存储,下面是一个Map集合的小练习,使用了keySet的取出方法。
取出字符串的每一个字符,记录每一个字母出现的次数。使用Map集合框架。
package cn.mugglean.Test; import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap; public class Maptext { public static void main(String[] args) {
/*
* 获取字符串中每一个字母出现次数
* 输出如下格式 a(2)b(1)c(3)
*/
String text="abcdaaba";
String getcount= getCount(text);
System.out.println(getcount); } public static String getCount(String text) {
//遍历字符数组,扔进Map。如果Map中有,则取出Map的值+1再扔进去。否则扔进去并把值写为1
//1.字符串转成字符数组
char[] stringArray=text.toCharArray();
//2.创建map
Map<Character,Integer> map=new TreeMap<Character,Integer>();
//3.遍历字符数组并且扔进去
for (int i = 0; i < stringArray.length; i++) {
if(!(map.containsKey(stringArray[i]))) {
map.put(stringArray[i], 1);
}
else {
Integer count = map.get(stringArray[i]);
map.put(stringArray[i],++count);
} }
//4.取出map
StringBuilder resultString=new StringBuilder();
Set<Character> keySet=map.keySet();
for (Iterator<Character> it = keySet.iterator(); it.hasNext();) {
Character key=it.next();
resultString.append(key);
resultString.append("("+map.get(key)+")");
}
return resultString.toString();
} }