黑马程序员技术交流社区
标题:
java习题
[打印本页]
作者:
凝聚
时间:
2013-10-7 20:00
标题:
java习题
package sixteen;
import java.util.*;
public class eight2 {
public static void main(String[] args) {
String s= charcount1 ("ajklfsdgfsdssdsdd");
System.out.println(s);
}
public static String charcount1 (String str)
{
char[]ch=str.toCharArray(); //转换成字符数组。
TreeMap<Character,Integer>tm=new TreeMap<Character,Integer>();///////////////////////////
for(int x=0;x<ch.length;x++)
{
Integer val= tm.get(ch[x]);////////////////////////////////////
if(val==null)
{
tm.put(ch[x], 1) ;
}
else
{
val=val+1;
tm.put(ch[x],val);
}
}
System.out.println(tm);
StringBuilder b=new StringBuilder();
Set<Map.Entry<Character,Integer>> es=tm.entrySet();
Iterator<Map.Entry<Character,Integer>>it=es.iterator();
while(it.hasNext())
{
Map.Entry<Character,Integer> me=it.next();
Character chr=me.getKey();
Integer val=me.getValue();
b.append(chr+"("+val+")");
}
return b.toString();
}
}
1.麻烦大家具体解释一下TreeMap<Character,Integer>tm=new TreeMap<Character,Integer>();这句语句中的<Character,Integer>为什么不能替换成<char,int>
2.Integer val= tm.get(ch[x]);这句话中tm.get(ch[x])不是获取字符串元素吗怎么赋值给int类型的变量了,麻烦大家具体解释一下
作者:
a283398689
时间:
2013-10-7 20:06
我来回答 ,求技术分,~ 里面是装对象的 同学, char 和int是基本类型, 另外2个是包装类对象 包装呢 INt和char
作者:
yting_xmei1129
时间:
2013-10-7 21:21
这个、、、Character 是char的包装类型,Integer是int的包装类型,前者是引用类型,后者是基本数据类型,建议楼主先去把8中基本数据类型跟他们对应的包装类型搞清楚、、、
基本数据类型 包装类
byte Byte
boolean Boolean
short Short
char Character
int Integer
long Long
float Float
double Double
还有就是把String这个类型弄清楚,相信会对楼主有帮助的、、、
The you smile until forever 、、、、、、、、、、、、、、、、、、、、、、、、
作者:
The_Wizard
时间:
2013-10-7 22:43
第二个问题有问题啊。
作者:
蔚蓝天色
时间:
2013-10-8 00:21
泛型旨在参数化类型,这里的TreeMap<Character,Integer>tm=new TreeMap<Character,Integer>();
表示着:Map中key值只能是Character类型的,而value值只能为Integer类型的
Character是char的包装类,
Integer是int的包装类,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2