赛迪网 > 产品和技术 > Java基础 > 文章

两种方法删除ArrayList里重复元素

发布时间:2006.03.10 06:27      来源:http://www.devx.com/tips/Tip/20864?trk=DXRSS_JAVA     作者:

这里有两种方法帮你删除在一个ArrayList里重复的elements。下面的程序片段里,removeDuplicate方法不维护顺序 (Order),而removeDuplicateWithOrder方法会保持顺序 (Order),但会有些性能上的牺牲。

The removeDuplicate Method:

/** List order not maintained **/

public static void removeDuplicate(ArrayList arlList)

{

HashSet h = new HashSet(arlList);

arlList.clear();

arlList.addAll(h);

}

The removeDuplicateWithOrder Method:


/** List order maintained **/

public static void removeDuplicateWithOrder(ArrayList arlList)

{

Set set = new HashSet();

List newList = new ArrayList();

for (Iterator iter = arlList.iterator(); iter.hasNext(); ) {

Object element = iter.next();

if (set.add(element))

newList.add(element);

}

arlList.clear();

arlList.addAll(newList);

}

[发表评论][打印][进入博客][进入论坛][推荐给朋友]