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--;
    				}
    			}
    		}
    		
    	}
    	
    }
    

      

  • 相关阅读:
    异常:Unknown lifecycle phase "mvn". You must specify a valid lifecycle
    java中数的表示
    windows7 桌面突然卡住了,点击右键点不了,点击桌面软件点不了,怎么办?
    DJango错误日志生成
    drf框架接口文档
    drf框架中分页组件
    UVa10234 Race
    洛谷P2982 [USACO10FEB]慢下来Slowing down
    UVa10820 Send a Table
    POJ1861 Network
  • 原文地址:https://www.cnblogs.com/youning/p/7218955.html
Copyright © 2011-2022 走看看