A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 追逐 高级黑马   /  2014-3-23 17:50  /  1300 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public static String charString(String str)
  2.         {
  3.                 char[] chs = str.toCharArray(); //将字符串转换成字符数组
  4.                 //创建集合
  5.                 TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();
  6.                 for(int i = 0; i < chs.length; i++)
  7.                 {
  8.                         Integer value = tm.get(chs); //求大神解释这句话是什么意思???????????
  9.                 }
  10.         }
复制代码


评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

10 个回复

倒序浏览
public static String charString(String str)
        {
                char[] chs = str.toCharArray(); //将字符串转换成字符数组
                //创建集合
                TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();
                for(int i = 0; i < chs.length; i++)
                {
                        Integer value = tm.get(chs); 这句话说得是获取TreeMap集合中你传入chs参数的键所对应的值
                }
        }

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
get
public V get(Object key)返回指定键所映射的值,如果对于该键而言,此映射不包含任何映射关系,则返回 null。
更确切地讲,如果此映射包含从键 k 到值 v 的映射关系,根据该映射的排序 key 比较起来等于 k,那么此方法将返回 v;否则返回 null。(最多只能有一个这样的映射关系。)

返回 null 值并不一定 表明映射不包含该键的映射关系;也可能此映射将该键显式地映射为 null。可以使用 containsKey 操作来区分这两种情况。

详细内容可以查看API文档

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
好的。谢谢各位的帮忙
回复 使用道具 举报

楼主的代码有问题,那个参数不是字符数组,应该是字符对象
  1. for(int i = 0; i < chs.length; i++)
  2.                 {
  3.                         Integer value = tm.get(chs[i]); //参数应该是字符数组中的字符,而不是字符数组
  4.                 }
复制代码

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 郭黎明 于 2014-3-24 09:31 编辑

public static String charString(String str)
        {
                char[] chs = str.toCharArray(); //将字符串转换成字符数组
                //创建集合
                TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();
                for(int i = 0; i < chs.length; i++)
                {
                        Integer value = tm.get(chs); //TreeMap中元素都以键值对的形式存在, 这句话调用了
                                                      // TreeMap的 public V get(Object key)方法,传键值返回value值

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
获取每个字符键所对应的值{:3_66:}
回复 使用道具 举报
获取了char数组中的每个角标上的元素。
回复 使用道具 举报
osully 金牌黑马 2014-3-24 09:06:22
9#
map集合键值对是一对一对的
只要知道其中一个,就可以取另一个
回复 使用道具 举报
根据键获得值
回复 使用道具 举报
tcny 中级黑马 2014-3-24 10:18:27
11#
  1. public static String charString(String str)
  2.         {
  3.                 char[] chs = str.toCharArray(); //将字符串转换成字符数组
  4.                 //创建集合
  5.                 TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();
  6.                 for(int i = 0; i < chs.length; i++)
  7.                 {
  8.                         Integer value = tm.get(chs); //1.找到tm中以chs为键所对应的值  2.值是int类型,这里发生了自动装箱,也就是自动转换成Integer类型
  9.                 }
  10.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马