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

© shi0000 中级黑马   /  2014-4-22 11:30  /  1037 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如果List<Integer>集合中存入的是String的hashcode值,怎样在输出时根据hashcode输出String?

3 个回复

倒序浏览
不清楚啊,java有没有指针,也许不能从内存地址指向数据吧,而且还有垃圾清除机制
回复 使用道具 举报
据我理解   这是不可能的吧   
回复 使用道具 举报
import java.util.*;

class Demo4
{
        public static void main(String[] args)
        {                  
                ArrayList<Integer> list = new ArrayList();
                                list.add(56);
                                list.add(86);
                                list.add(26);
                                list.add(32);
                                Iterator it = list.iterator();
                                while(it.hasNext())
                                {
                                        Object y =it.next();
                                        int x = Integer.parseInt(String.valueOf(y));
                                       
                                        System.out.println((char)x);
                                       
                                }       
        }
}
这个方法可以把hashcode转成char类型,有char类型就可以搞出String类了,看上去是这样,但真的如此么?
这里需要面对一个问题:两个内容不同的字符串hashcode值是有可能相同的!
                        int hash1 = "ABCDEa123abc".hashCode();
                        int hash2 = "ABCDFB123abc".hashCode();
                        System.out.println(hash1);
                        System.out.println(hash2);
这个就是一个情况。
所以一个hashCode值是有可能对应出多个内容String字符串的。因此我觉得楼主的要求不可能做到。


评分

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

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马