黑马程序员技术交流社区
标题:
Map集合
[打印本页]
作者:
love$$-IT
时间:
2015-3-6 01:03
标题:
Map集合
package mymap;
import java.util.TreeMap;
public class MapTest1 {
public static void main(String[] args) {
//定义字符串"adjjakfhbakbfjhdasvgfjaa",获取没个字母出现的次数
String str = "adj123[]jakfhbakbfjhdasvgfjaa";
String str1 = myMaptest1(str);
System.out.println(str1);
}
public static String myMaptest1(String str) {
// 将字符串转换成字符数组
char[] ch = str.toCharArray();
//定义TreeMap集合,用来存储字母(键)和字母出现的次数(值)
TreeMap<Character,Integer> map = new TreeMap<Character,Integer>();
//遍历数组
for (int i = 0; i < ch.length; i++) {
//判断是否是字母
if(!(ch[i]>='a'&&ch[i]<='z'||ch[i]>='A'&&ch[i]<='Z')){
continue;
}
//获取字母键对应的值出现的次数
Integer value = map.get(ch[i]);
//方法一
// //判断键的值出现的次数,null则为第一次出现
// if(value==null){
// map.put(ch[i], 1);
// }else {
// value++;
// map.put(ch[i], value);
// }
//方法二
//定义变量,用来记录次数
int count=0;
if(value!=null){
count=value;
}
count++;
map.put(ch[i], count);
}
return mapToString(map);
}
//達到a(2)b(3)c(4)效果
private static String mapToString(TreeMap<Character, Integer> map) {
// 要達到輸出效果,用StringBuffer--单线程最好用StringBuilder
StringBuilder sb = new StringBuilder();
//遍历map集合
for(Character key : map.keySet()){
Integer value = map.get(key);
sb.append(key+"("+value+")");
}
return sb.toString();
}
}
复制代码
作者:
朱明仁
时间:
2015-3-7 11:02
先收了,回去看看
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2