对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