获取该字符串中每一个字母出现的个数
“GZITCASTADVANCEDTRAININGJAVASEJAVAEE ANDROID”
我在网上找到的代码是这样的,但因为我没有学过集合类,所以看不懂,希望大家能给我详细解析一下
package itcast.Exam;import java.security.KeyStore.Entry;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;/*
* 6、获取该字符串中每一个字母出现的个数(10)。
* “GZITCASTADVANCEDTRAININGJAVASEJAVAEE ANDROID”
*
* 这题因为在基础方面的集合类学习的不是很深入所以感觉不是很懂!
* 还有待继续学习!
*/
public class Exam6 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "GZITCASTADVANCEDTRAININGJAVASEJAVAEE ANDROID";
System.out.println("每个字符串出现的个数如下:");
System.out.println(strCount(str));
}
public static String strCount(String str){
char[] ch = str.toCharArray();
Map<Character, Integer> map = new TreeMap<Character, Integer>();
for (int i = 0; i < ch.length; i++) {
Integer value = map.get(ch[i]);
int count = 1;
if (value != null) {
count = value + 1;
}
map.put(ch[i], count);
}
return toNewString(map);
}
public static String toNewString(Map<Character, Integer> map){
StringBuilder sBuilder = new StringBuilder();
Iterator<java.util.Map.Entry<Character, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
java.util.Map.Entry<Character, Integer> entry = iterator.next();
char ch1 = entry.getKey();
int value = entry.getValue();
sBuilder.append(ch1+"{"+value+"}"+" ");
}
return sBuilder.toString();
}
}
javacharacteriteratorstring
“GZITCASTADVANCEDTRAININGJAVASEJAVAEE ANDROID”
我在网上找到的代码是这样的,但因为我没有学过集合类,所以看不懂,希望大家能给我详细解析一下
package itcast.Exam;import java.security.KeyStore.Entry;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;/*
* 6、获取该字符串中每一个字母出现的个数(10)。
* “GZITCASTADVANCEDTRAININGJAVASEJAVAEE ANDROID”
*
* 这题因为在基础方面的集合类学习的不是很深入所以感觉不是很懂!
* 还有待继续学习!
*/
public class Exam6 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "GZITCASTADVANCEDTRAININGJAVASEJAVAEE ANDROID";
System.out.println("每个字符串出现的个数如下:");
System.out.println(strCount(str));
}
public static String strCount(String str){
char[] ch = str.toCharArray();
Map<Character, Integer> map = new TreeMap<Character, Integer>();
for (int i = 0; i < ch.length; i++) {
Integer value = map.get(ch[i]);
int count = 1;
if (value != null) {
count = value + 1;
}
map.put(ch[i], count);
}
return toNewString(map);
}
public static String toNewString(Map<Character, Integer> map){
StringBuilder sBuilder = new StringBuilder();
Iterator<java.util.Map.Entry<Character, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
java.util.Map.Entry<Character, Integer> entry = iterator.next();
char ch1 = entry.getKey();
int value = entry.getValue();
sBuilder.append(ch1+"{"+value+"}"+" ");
}
return sBuilder.toString();
}
}
javacharacteriteratorstring
解决方案 »
- 通过java代码如何把改变xml文件的字符编码格式
- 求教解决方案
- 请问大家在JAVA中怎么样声明标签数组???
- public interface Factory<T> {T create();} 这句话,无法编译通过???
- 为什么老是IMPORT 不了这个文件里面的类,郁闷一个下午,刚学JAVA,请大家帮我看看,谢了
- 在学IO时,我想往深的看看像int i = 2;这样的数据在计算机中怎么表示,进而如何转化,该看哪些方面的书???
- 编译之后,执行时找不到类了。。。
- 象MSN那样弹出的非IE窗口中有网页,JAVA中怎么在JFRAME中嵌入网页
- XML+java高手帮忙。
- 不知为何的问题…………
- 线程问题,线程已经取消了,也返回取消成功了,却还在继续运行,求救啊..:)
- 为什么公司的网页能打开,但是ecplise就无法连接呢!
对应一个主键和一个值
这个题中的map
主键为这个字母,值为次数。
就这些。
如果看不懂真的说明你java还学得比较浅。
继续努力吧。
推荐你看一下Map,然后就能明白代码的意思了。
Map<K,V>是通用解法
K:键,V:值