Java中Set有这样一个方法,.addAll( Collection c),直接加入List集合,去掉重复的数据。
  public static void
 Set  set=new
 set.add("abc");  
 set.add("cde");  
 set.add("efg");  
 set.add("fgh");      
 set.add("abc"); //重复的abc,set会自动将其去掉   
 System.out.println("size="+ set.size() );  
   
List list = new
 list.add("abc");  
 list.add("aaa");  
12. list.add("fff");  
 set.addAll(list); //将list中的值加入set,并去掉重复的abc
 System.out.println("size="+ set.size() );  
   
 for( Iterator   it = set.iterator();  it.hasNext(); )  
 {               
 "value="+it.next().toString());              
 }   
 }

package aa; 
    import java.util.ArrayList; 
    import java.util.HashSet; 
    import java.util.Iterator; 
    import java.util.List; 
    import java.util.Set; 
    public class test1 { 
   public static void main(String[] args) { 
   List perProds = new ArrayList(); 
   perProds.add("aaa"); 
   
perProds.add("aaa"); 
   
System.out.println(":"+perProds.size()); 
   
for(Iterator it =perProds.iterator();it.hasNext();) 
   
{ 
   
System.out.println(":"+it.next()); 
   
 
   
} 
   
//去掉重复的专线数据 
     HashSet h = new HashSet(perProds); 
   perProds.clear(); 
   perProds.addAll(h); 
   System.out.println("~~~~~~~~~"); 
   System.out.println(perProds); 
   System.out.println("~~~~~~~~~~~~"); 
   } 
    }


测试过 如果元素是map也是 对的