您的位置:程序门 -> java -> j2ee / ejb / jms



请教高手一个算法问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请教高手一个算法问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!![已结贴,结贴人:jiang007008]
发表于:2007-10-10 10:53:39 楼主
在原始的数组中是n个对象元素,这个对象元素中有一个属性是品牌,是string的,我的目的是想把,品牌相同的对象分类放到一个个的数组里,再把这些数组放到一个大的新数组里
发表于:2007-10-10 11:14:521楼 得分:20
在解释清楚一点嘛~
举个小例子最好
发表于:2007-10-10 11:31:422楼 得分:0
list   jadlist   =   aa.getlist();//得到包含对象的原始数组
if((jadlist!=null)&&(jadlist.size()> 0)){
        list   tmplist_1   =   null;
        for(int   j=0;j <jadlist.size();j++){//将品牌名放入数组
            string   brandname   =   jadlist.get(j).getbrand();
            tmplist_1.add(brandname);
        }
       
    hashmap <string,object>   v   =   new   hashmap <string,object> ();
    if((tmplist_1!=null)&&(tmplist_1.size()> 0)){
      for(int   i=0;i <tmplist_1.size();i++){
        if(!v.containskey(tmplist_1.get(i))){
   
                  v.put((string)tmplist_1.get(i),jadlist.get(i));
        }
        v.get((string)tmplist_1.get(i)).add(i);
      }
    }
}
发表于:2007-10-10 11:35:463楼 得分:0
我就是想把品牌相同的元素,能在jsp上分类显示用数组和hashmap都可以
发表于:2007-10-10 13:13:344楼 得分:80
差不多就是你写的这个啊!

list   jadlist   =   aa.getlist();//得到包含对象的原始数组  
hashtable   table   =   null;
if((jadlist!=null)&&(jadlist.size()> 0)){
        table   =   new   hashtable();
        for(int   j=0;j   <jadlist.size();j++){//将品牌名放入数组
              objectitem     item   =   jadlist.get(j);       //objectitem假设为原始数组里的对象
              string   brandname   =   jadlist.get(j).getbrand();  
            if(table.containskey(brandname)){
                  ((arraylist)table.get(brandname)).add(item);
            }else{
                    table.put(brandname,new   arraylist());
            }
        }
}  

最后得到的table就是结果集,品牌brandname为主键,包含所有相同品牌的对象的arraylist为值
发表于:2007-10-10 14:02:595楼 得分:0
有个地方不太理解table.put(brandname,new   arraylist());   ,这样的话第一个值table.containskey肯定是false,这时候怎么让能够键和值对应呢
发表于:2007-10-15 11:30:086楼 得分:0
sorry,写掉了

else{  
      list   l   =   new   arraylist();  
      l.add(item);                      
      table.put(brandname,l);
}  

第一次出现brandname,不但要初始list这个对象集合,还要把第一个item放到集合中


快速检索

最新资讯
热门点击