ArrayList去除重复元素的两种方法

package java_test;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;


public class ListItertorDemo {
	public static void main(String[] args) {

		List list=new ArrayList();
	
		list.add("abc1");
		list.add("abc1");
		list.add("abc1");
		list.add("abc3");
		list.add("abc2");
		list.add("abc1");
		list.add("abc3");
		list.add("abc3");
		list.add("abc1");
		list.add("abc1");
		list.add("abc1");
		list.add("abc3");
		
		
		System.out.println(list);
		singleElement2(list);
		System.out.println(list);

		
	}
	/*方法二,
	 * 思路:
	 * 1.最后唯一性的元素也很多,可以先定义一个临时容器用于存储这些唯一性的元素
	 * 2.对原有容器进行元素的获取,并到临时容器中去判断是否存在,容器本身就有这个功能,判断元素是否存在 equals
	 * 3.存在就不存储,不存在就存储
	 * 4.遍历完原容器后,临时容器中存储的就是唯一性的元素
	 */
	public static void singleElement2(List list){
		List temp=new ArrayList();
		for (Iterator it = list.iterator(); it.hasNext();) {
			Object obj = (Object) it.next();
			if(!temp.contains(obj)){
				temp.add(obj);
			}
			
		}
		list.clear();
		list.addAll(temp);
		
	}
	//方法一,思想是数组选择排序
	public static void singleElement(List list){
		
		for(int x=0;x<list.size()-1;x++){
			
			Object obj_x=list.get(x);
			for(int y=x+1;y<list.size();y++){
				
				if(obj_x.equals(list.get(y))){
					list.remove(y);
					y--;
				}
			}
		}
		
	}
	
}

  

原文地址:https://www.cnblogs.com/youning/p/7218955.html