从ArrayList中删除重复项?
如何从ArrayList
删除重复项?
我将getCcnptags
数组作为[java,php,c++,c,java,php]
从bean数组获取,我给每个数组变量提供超链接,但我想在添加超链接之前删除重复项,是否可以在我的下面的代码中添加任何代码以删除重复项。
for(int k=0;k }
更好地使用HashSet 。 如果不可能,那么您可以使用临时HashSet
。
ArrayList a= new ArrayList(); HashSet hs = new HashSet(); hs.addAll(a); // willl not add the duplicate values a.clear(); a.addAll(hs); // copy the unique values again to arraylist
使用Set interace ,一个不包含重复元素的集合。
从ArrayList
创建Hashset
并使用它。
Collection
对象有一个构造函数,它接受Collection
对象来初始化值。
ArrayList yourlist= new ArrayList(); HashSet nodupesSet= new HashSet(yourlist);
现在迭代nodupesSet
我在网上发现了这个。 它与删除Vector中的元素非常类似,但方法名称有所变化。
import java.util.*; class RemoveDuplicates { public static void main(String args[]) { ArrayList v=new ArrayList (); v.add("Gowtham"); v.add(" Gutha's"); v.add(" Java"); v.add("-"); v.add("demos"); v.add("."); v.add("blogspot"); // '.' again! v.add("."); v.add("com "); // Gowtham again! v.add("gowtham"); System.out.println("Original"); for(int i=0;i v) { for(int i=0;i
作为旁注,如果您需要列表中的项目保持其原始顺序,则可以使用以下方法。 该集用于检查重复项,并返回另一个列表。
public list
用法就像这样(或类似):
public static final void main(String[] args) { List numbers = new LinkedList (); numbers.add(5); numbers.add(6); numbers.add(5); numbers.add(8); numbers = removeDuplicates(numbers); }
需要记住的事项:如果使用自定义类,请确保它们覆盖标准的Object.hashCode()
方法。 否则,这种方法将无法正常工作。