黑马程序员技术交流社区

标题: 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