首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java List 去重(两种模式)

2012-12-26 
java List 去重(两种方式)方法一: 通过Iterator 的remove方法?public void testList() {??ListInteger l

java List 去重(两种方式)

方法一: 通过Iterator 的remove方法

?

public void testList() {??List<Integer> list=new ArrayList<Integer>();??list.add(1);?list.add(2);?list.add(4);?list.add(1);?list.add(2);?list.add(5);?list.add(1);?List<Integer> listTemp= new ArrayList<Integer>();?Iterator<Integer> it=list.iterator();?while(it.hasNext()){??int a=it.next();??if(listTemp.contains(a)){???it.remove();??}??else{???listTemp.add(a);??}?}?for(Integer i:list){??System.out.println(i);?}}

?

方法二:直接将结果赋值给另一个List

?

public void testList2() {List<Integer> list=new ArrayList<Integer>();list.add(1);list.add(2);list.add(4);list.add(1);list.add(2);list.add(5);list.add(1);List<Integer> tempList= new ArrayList<Integer>();for(Integer i:list){if(!tempList.contains(i)){tempList.add(i);}}for(Integer i:tempList){System.out.println(i);}}

?

?打印结果

?

1245

?

这种排序效率也太低了吧? 直接放入Map 多方便 这种排序效率也太低了吧? 直接放入Map 多方便
map 要放键,值,可读性不好啊 12 楼 lhkzyz 2012-09-21   ychen_123 写道为什么不直接用set?
我要保持list原来的顺序,所以一定要这样搞,可以用 set.add(list),就可以去重了,但是set是无序的,不能保持原来的顺序,谢谢你的提问! 13 楼 lhkzyz 2012-09-21   bitray 写道这种简单的数据结构基本在实际中用不到

哥就是在实际项目中用到的! 14 楼 zx44y 2012-09-22   没多大概率用得到。 15 楼 hai2653068 2012-11-28   刚刚就用到了。。。   一字符串类型时间的排序   时间有重复的要去重的

热点排行