java中ArrayList集合去除重复元素

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

public class RemoveElementArrayLilst {
    
    /**
     * 功能:数组去重复
     * @param list  传递一个集合
     * @return 返回一个没有重复元素的集合
     */
    static List removeElement(List list){
        //创建list 特有迭代器
        ListIterator it = list.listIterator();
        //创建一个新的集合对象
        List newlist = new ArrayList();
        
        while (it.hasNext()) {
            //为什么要在这路装载一下呢?因为下面还要使用,调用两次next()就变味了
            Object obj = it.next();
            //判断新集合中是否包含此元素,如果包含就不添加
            if(! newlist.contains(obj)) {
                newlist.add(obj);
            }    
        }
        return newlist;
    }

    public static void main(String[] args) {
        //创建一个集合对象
        List list = new ArrayList();
        list.add("a");    list.add("a");    list.add("b");    list.add("b");    list.add("c");
        list.add("d");
        System.out.println(list);//[a, a, b, b, c, d]

        List list2  =  removeElement(list);
        
        System.out.println(list2);//[a, b, c, d]
    }

}

 

posted @ 2018-05-12 17:22  马鞍山  阅读(659)  评论(0编辑  收藏  举报