zoukankan      html  css  js  c++  java
  • 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--;
    				}
    			}
    		}
    		
    	}
    	
    }
    

      

  • 相关阅读:
    Java三大特殊类
    静态顺序表and动态顺序表(一)_插入操作
    模拟实现memcpy、memmove函数
    模拟实现strcpy函数
    模拟实现Strlen函数
    数组相关知识总结(一)
    C语言学习总结(二)__操作符
    受控组件 & 非受控组件
    SyntheticEvent
    ReactDOM & DOM Elements
  • 原文地址:https://www.cnblogs.com/youning/p/7218955.html
Copyright © 2011-2022 走看看