黑马程序员技术交流社区

标题: 句子不理解?求解? [打印本页]

作者: 追逐    时间: 2014-3-23 17:50
标题: 句子不理解?求解?
  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.         }
复制代码



作者: Ranger    时间: 2014-3-23 17:59
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参数的键所对应的值
                }
        }
作者: 菜小徐    时间: 2014-3-23 18:06
get
public V get(Object key)返回指定键所映射的值,如果对于该键而言,此映射不包含任何映射关系,则返回 null。
更确切地讲,如果此映射包含从键 k 到值 v 的映射关系,根据该映射的排序 key 比较起来等于 k,那么此方法将返回 v;否则返回 null。(最多只能有一个这样的映射关系。)

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

详细内容可以查看API文档

作者: 追逐    时间: 2014-3-23 18:21
好的。谢谢各位的帮忙
作者: 疯狂沙漠    时间: 2014-3-23 22:23

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

作者: 郭黎明    时间: 2014-3-24 00:25
本帖最后由 郭黎明 于 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值
作者: ς高眼光の目标    时间: 2014-3-24 05:17
获取每个字符键所对应的值{:3_66:}
作者: syusikoku    时间: 2014-3-24 08:27
获取了char数组中的每个角标上的元素。
作者: osully    时间: 2014-3-24 09:06
map集合键值对是一对一对的
只要知道其中一个,就可以取另一个
作者: 一诺千金    时间: 2014-3-24 09:10
根据键获得值
作者: tcny    时间: 2014-3-24 10:18
  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.         }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2