List去除重复的元素
2016-09-03 22:25
295 查看
有两种方法,一种是去重不带顺序的,一种是去重带顺序的。
测试:
/* * 方法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); }
相关文章推荐
- Java去除List中重复的元素
- List去除重复元素
- List去除所有重复的元素
- 去除list中重复的元素
- python 去除 list 重复元素
- Remove Duplicates from Sorted List(去除有序链表中的重复元素)
- 去除List中重复元素
- STL-去除list中重复的元素
- 去除List中重复元素
- list列表中去除重复元素时不小心踩的坑
- 去除list的重复元素
- Java在线笔试编程题(1)---list去除重复元素、幸运袋剪枝法、模拟洗牌
- Python去除list中重复的元素
- java 两个相同元素的List,合并排序去除重复元素的快速算法
- list去除重复元素的两种方法
- ArrayTools 去除List中重复的元素
- 去除List中重复的元素
- List集合去除重复元素,不打乱顺序(数组转List)
- java基础--去除List中重复的元素
- 去除List<Object>集合中重复的元素(利用HashSet的特性---无重复元素)