问题描述:
    
                           Map<String,String> map = new HashMap<String,String>();
for(int i=0;i<100;i++) {
map.put("key"+i, "value"+i);
}
request.setAttribute("tar", map);//map到页面操作                           StringBuilder tar = new StringBuilder();
for(int i=0;i<100;i++) {
tar.append("'key'"+i+":"+"'value'"+i+";");
}
String s = tar.toString().substring(0, tar.toString().length()-1);
req.setAttribute("tar", s);//String传输到页面例如上面.一个map,一个String.传输到页面处理的时候.二者有区别么,是否在性能上有差异?
自己debug.发现到页面都是2kb的数据.而且内容也都差不多.
有人有这方面的经验么。二者在性能上的优劣有人能帮忙说下么?
如果有差别,那么差别在哪里?

解决方案 »

  1.   


    Map<String,String> map = new HashMap<String,String>();
    for(int i=0;i<100;i++) {
    map.put("key"+i, "value"+i);
    }
    request.setAttribute("tar", map);//map到页面操作

    StringBuilder tar = new StringBuilder();
    for(int i=0;i<100;i++) {
    tar.append("key"+i+":"+"value"+i+";");
    }
    String s = tar.toString().substring(0, tar.toString().length()-1);
    request.setAttribute("tar", s);//String传输到页面
    request为HttpServletRequest对象.
    没发好,再发一遍.呵呵
      

  2.   

    这个性能上有无差异还真没侧过,
    不过我感觉,以不同的方式将数据展示到页面,只是为了展示的方便。
    map可以分别迭代出里面的值
    string只是把值作为一个整体显示
      

  3.   

    重排了下更不整齐了。1楼String拼成了json串.和map到了页面展现方式一样.
    谢谢回复.呵呵。
    猛然发现.我竟然没有88分.给我4天时间我去赚点.哎.
      

  4.   

    1方法效率比较差 但是灵活
    1方法每次插入("key"+i)时均需要对map做一次操作 2方法不用 数据量大时肯定效率会慢一些1方法耗的内存大一些 但是灵活
    map里面的元素保存时会消耗额外的空间用来存储数据结构相关信息 所以占的内存会比较多
      

  5.   

    map使用比较灵活,可以添加很多对象然后在页面取出来,string只能是一个对象,这个在效率上应该体现不出来多大的不同,使用map的使用将会从服务器端获取不同的数据,这样的负载在服务器,而使用String连接字符串后直接输出到页面,页面需要使用js来分离字符串,这样负载在页面,一般大数据的系统考虑负载,建议使用map,不要给页面增加太大的负担,当然也可以在页面使用ajax,这样就可以减少页面响应时间!
      

  6.   

    谢谢。我是不是可以理解为使用map在服务器端会耗比较多的资源?
    另外.在map内是<String,String>的时候,到了页面解析时,我感觉和解析json串方法一样.此二者(map和json串)在页面解析时候,有和优劣呢?