Java 希望避免ArrayList中出现重复条目

Java 希望避免ArrayList中出现重复条目,java,Java,我正在寻找一个类似ArrayList的对象,它可以避免重复条目。 例如,它可能有一个方法,在将每个条目添加到ArrayList之前调用“contains()”使其有效 ArrayList<String> al = new ArrayList<String>(); if(!al.contains("red")){ al.add("red"); } ArrayList al=new ArrayList(); 如果(!al.包含(“红色”)){ al.添加(“红色”);

我正在寻找一个类似ArrayList的对象,它可以避免重复条目。 例如,它可能有一个方法,在将每个条目添加到ArrayList之前调用“contains()”使其有效

ArrayList<String> al = new ArrayList<String>();
if(!al.contains("red")){
  al.add("red");
}
ArrayList al=new ArrayList();
如果(!al.包含(“红色”)){
al.添加(“红色”);
}

类似的东西存在吗?

阵列列表和列表通常不是为了避免重复而设计的,它们被设计为一种集合类型,可以维护许多元素的顺序。如果需要更适合作业的集合,则需要集合:

Set<String> set = new HashSet<String>();
Set Set=newhashset();
然后,您可以将所有需要的内容添加到集合中,集合中永远不会包含重复的字符串。请注意,如果您将其用于自己编写的类,则需要实现
equals()
hashcode()
,才能使其正常工作


如下面的评论所示,如果您仍然需要维持秩序并删除重复项,那么
LinkedHashSet
是您的朋友。

这个问题更适合StackOverflow。您要查找的是一个集合(java.util.Set),很可能是java.util.HashSet。如果需要维护顺序,请使用
LinkedHashSet