需求:使用Map集合统计字符串中每个字符的次数。
- String s=“adsdfsdfsdfse1231234sdfsdf”;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class Test {
public static void main(String[] args) {
String s="adsdfsdfsdfse1231234sdfsdf";
//将字符串转成字符数组
char[] chs = s.toCharArray();
Map<Character, Integer> map = new HashMap<Character, Integer>();
//遍历字符数组
for (int i = 0; i < chs.length; i++) {
//如果集合中的键存在和该字符chs[i]一样的值,那么就在原有的值上加1,覆盖掉原来的键值
if(map.containsKey(chs[i])) {
map.put(chs[i], map.get(chs[i])+1);
}else {
//如果集合中的键没有存在与字符chs[i]一样的值,那么就将chs[i]的值作为键存入map集合中,1作为值
map.put(chs[i], 1);
}
}
//遍历集合,用entrySet方法遍历
Set<Map.Entry<Character,Integer>> entrySet = map.entrySet();
//创建Set集合的迭代器
Iterator<Map.Entry<Character, Integer>> it = entrySet.iterator();
while(it.hasNext()) {
Entry<Character, Integer> entry = it.next();
System.out.println(entry.getKey()+"--"+entry.getValue());
}
}
}