黑马程序员技术交流社区
标题:
Map判断字符出现的次数
[打印本页]
作者:
耿渊博
时间:
2014-4-3 22:22
标题:
Map判断字符出现的次数
打印结果对了,格式不太对,怎么改啊?
package com.Map;
import java.util.*;
/*
练习:
"sdfgzxcvasdfxcvdf"获取该字符串中的字母出现的次数。
希望打印结果:a(1)c(2).....
*/
public class MapTest3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
charCount("sdfgzxcvasdfxcvdf");
}
public static String charCount(String str){
char[] chs = str.toCharArray();
TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();
for(int x=0;x<chs.length;x++){
Integer value = tm.get(chs[x]);
if(value ==null){
tm.put(chs[x], 1);
}
else{
value = value+1;
tm.put(chs[x], value);
}
}
System.out.println(tm);
return null;
}
}
//打印结果{a=1, c=2, d=3, f=3, g=1, s=2, v=2, x=2, z=1}
复制代码
作者:
郭黎明
时间:
2014-4-4 08:36
public static void charCount(String str) {
char[] chs = str.toCharArray();
TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();
for (int x = 0; x < chs.length; x++) {
Integer value = tm.get(chs[x]);
if (value == null) {
tm.put(chs[x], 1);
} else {
value = value + 1;
tm.put(chs[x], value);
}
}
Set<Character> s = tm.keySet();
Iterator<Character> it = s.iterator();
while (it.hasNext()) {
Character key = it.next();
Integer valu = tm.get(key);
System.out.print(key + "(" + valu + ")");
}
}
这样就可以了,TreeMap集合要遍历一下,得到它的key和value,然后再用要求的形式打印,其中TreeMap有两种遍历方法,一种是.keySet(),得到键的集合,然后遍历,另一种是xxx.entrySet()得到Map.entry(K,V)类型的集合,然后遍历得到key和value,我这里用的第一种
作者:
Up↑Lee↗
时间:
2014-4-4 08:45
//package com.Map;
import java.util.*;
/*
练习:
"sdfgzxcvasdfxcvdf"获取该字符串中的字母出现的次数。
希望打印结果:a(1)c(2).....
*/
public class MapTest3
{
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = charCount("sdfgzxcvasdfxcvdf");
System.out.println(s);
}
public static String charCount(String str){
char[] chs = str.toCharArray();
TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();
for(int x=0;x<chs.length;x++){
Integer value = tm.get(chs[x]);
if(value ==null){
tm.put(chs[x], 1);
}
else{
value = value+1;
tm.put(chs[x], value);
}
}
StringBuilder sb = new StringBuilder();
Set<Map.Entry<Character,Integer>> entrySet = tm.entrySet();
Iterator<Map.Entry<Character,Integer>> it = entrySet.iterator();
while(it.hasNext())
{
Map.Entry<Character,Integer> me = it.next();
Character ch = me.getKey();
Integer value = me.getValue();
sb.append(ch+"("+value+")");
}
return sb.toString();
//System.out.println(tm);
//return null;
}
}
//打印结果{a=1, c=2, d=3, f=3, g=1, s=2, v=2, x=2, z=1}
复制代码
改好
作者:
muma
时间:
2014-4-4 09:17
public static void charCount(String str) {
char[] chs = str.toCharArray();
TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();
for (int x = 0; x < chs.length; x++) {
Integer value = tm.get(chs[x]);
if (value == null) {
tm.put(chs[x], 1);
} else {
value = value + 1;
tm.put(chs[x], value);
}
}
Set<Character> s = tm.keySet();
Iterator<Character> it = s.iterator();
while (it.hasNext()) {
Character key = it.next();
Integer valu = tm.get(key);
System.out.print(key + "(" + valu + ")");
}
}
这样就可以了,TreeMap集合要遍历一下,得到它的key和value,然后再用要求的形式打印,其中TreeMap有两种遍历方法,一种是.keySet(),得到键的集合,然后遍历,另一种是xxx.entrySet()得到Map.entry(K,V)类型的集合,然后遍历得到key和value,我这里用的第一种
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2