zoukankan      html  css  js  c++  java
  • List去除重复的元素

         有两种方法,一种是去重不带顺序的,一种是去重带顺序的。

    	/*
    	 * 方法1:	无顺序
    	 * Hastset根据hashcode判断是否重复,数据不会重复
    	 */
    	public static List<String> deleteDuplicate(List<String> list){
    		Set<String> set = new HashSet<String>(list);
    		list.clear();
    		list.addAll(set);
    		return list;
    	}
    	
    	/*
    	 * 方法2:带顺序
    	 * 通过Hashset的add方法判断是否已经添加过相同的数据,如果已存在相同的数据则不添加
    	 */
    	public static List<String> deleteDuplicateWithOrder(List<String> list){
    		
    		Set<String> set = new HashSet<String>();
    		List<String> newList = new ArrayList<String>();
    		
    		Iterator<String> it = list.iterator();
    		while(it.hasNext()){
    			String str = (String)it.next();
    			if(set.add(str)){
    				newList.add(str);
    			}
    		}
    		
    		list.clear();
    		list.addAll(newList);
    		return newList;
    	}

    测试:

    	@Test
    	public void test1(){
    		List<String> list = new ArrayList<String>();
    		list.add("AAA");
    		list.add("BBB");
    		list.add("CCC");
    		list.add("DDD");
    		list.add("BBB");
    		list.add("DDD");
    		list.add("FFF");
    		
    		//AAA,CCC,BBB,DDD,FFF,
    		list = deleteDuplicate(list);
    	}
    	
    	@Test
    	public void test2(){
    		List<String> list = new ArrayList<String>();
    		list.add("AAA");
    		list.add("BBB");
    		list.add("CCC");
    		list.add("DDD");
    		list.add("BBB");
    		list.add("DDD");
    		list.add("FFF");
    		
    		//AAA,BBB,CCC,DDD,FFF,
    		list = deleteDuplicateWithOrder(list);
    	}
  • 相关阅读:
    CSS3_02之2D、3D动画
    CSS3_01之选择器、Hack
    css_04之显示、定位
    css_03之文本、浮动
    css_02之盒模型、渐变
    javascript获取非行间样式的方法(可以兼容各个浏览器)
    gulp的用法
    grunt的用法
    grunt
    git用法
  • 原文地址:https://www.cnblogs.com/yangang2013/p/5838147.html
Copyright © 2011-2022 走看看