对list集合去重操作

import java.util.ArrayList;  
import java.util.List;  
  
//删除集合中重复的数据  
public class RemoteTheSameDataInList {  
    public static void main(String[] args) {  
        List<String> arr = new ArrayList<String>();  
        arr.add("a");  
        arr.add("b");  
        arr.add("a");  
        arr.add("d");  
        arr.add("d");  
        arr.add("e");  
          
        System.out.println("删除前:"+arr.toString());
     // 方法一:
for (int i = 0; i < arr.size() - 1; i++) { for (int j = arr.size() - 1; j > i; j--) { if(arr.get(j).toString().equals(arr.get(i).toString())){ arr.remove(j); } } }


    // 方法二:(使用set集合方式去重,原list顺序无要求)
     
HashSet<String> setList = new HashSet<String>(list);

      arr.clear();
      arr.addAll(setList);

 

     // 方法三:(使用set集合方式去重,原list顺序不变)

      Set set = new HashSet();   
      List newList = new ArrayList();   
      for (Iterator iter = arr.iterator(); iter.hasNext(); )   
      {   
        Object element = iter.next();   
        if (set.add(element)) newList.add(element);   
      }   
      arr.clear();   
      arr.addAll(newList);

 

        System.out.println("删除后:"+arr.toString());  
    }  
}  

 

参考资料:http://blog.163.com/zhangmihuo_2007/blog/static/2701107520136249623656/

       http://blog.sina.com.cn/s/blog_a584bc14010132mv.html

 

posted @ 2015-06-26 10:59  IT Daren  阅读(1128)  评论(0编辑  收藏  举报