for (int i=0; i<listEtiquette.size(); i++){
         Etiquette etq = (Etiquette)listEtiquette.get(i);
         String valeurColonne0 = etq.getValeurCaracteristique("#","STS");
         Row etqRow = new Row(valeurColonne0);
         listStatut.add(etqRow);   
        }
        myForm.setListStatut(listStatut);这是抽listStatut的代码,现在页面上listStatut中显示的数据有很多重复的,请问如何在这里加段代码防止出现重复呢?

解决方案 »

  1.   

    可以考虑使用set,不过set是无序的
      

  2.   

    用IF判断啊,先判断这个list里边是否已经存在这个值了,如果不存在再加进去啊
    if( !listStatut.contains(etqRow))
    {
       listStatut.add(etqRow);
    }
    注意要覆盖equals(obj)方法哦.可以的话记得给我加分哦
      

  3.   

    AWUSOFT() ( ) 信誉:100    Blog  2006-11-22 08:53:53  得分: 0  
     
     
       用HashSet的话千万不要忘了覆盖equals(obj)方法哦
    ============================
    :) 
     
      

  4.   

    AWUSOFT() ( ) 信誉:100    Blog 
    方法可行,但是代价比较大。还是malligator(大螟) ( ) 信誉:100    Blog 
    的有道理
      

  5.   

    if(  !listStatut.contains(etqRow))  
    {  
         listStatut.add(etqRow);  
    }  加上了不行
      

  6.   

    for (int i=0; i<listEtiquette.size(); i++){
             Etiquette etq = (Etiquette)listEtiquette.get(i);
             String valeurColonne0 = etq.getValeurCaracteristique("#","STS");
        if(!listStatut.contains(valeurColonne0)){ 
         listStatut.add(valeurColonne0);  
        }   
       
            }
            listStatut= Row.buildRowsFromList(listStatut);
            
    myForm.setListStatut(listStatut);问题解决了。