ArrayList,Java,

ArrayList,Java,,java,arraylist,Java,Arraylist,我刚找到一个这样的代码 ArrayList contacts = new ArrayList(); public void addContacts(Contact contact){ if(!contacts.contains(contact)){ contacts.add(contact); } } 我只是想知道我是否可以省略下面一行,!contacts.contain(contact)因此我可以这样写 ArrayList contacts = new

我刚找到一个这样的代码

ArrayList contacts = new ArrayList();

public void addContacts(Contact contact){

    if(!contacts.contains(contact)){
        contacts.add(contact);
    }

}
我只是想知道我是否可以省略下面一行,
!contacts.contain(contact)
因此我可以这样写

ArrayList contacts = new ArrayList();

public void addContacts(Contact contact){


        contacts.add(contact); // adding the new contact directly without checking first


}

为什么我需要包括第一行

ArrayList允许重复,如果删除第一行条件
如果(!contacts.contains(contact))
,它将允许在
联系人
列表中重复元素

您可以使用
设置
界面来避免重复条目的实现<代码>列表接口不提供任何实现以避免重复<代码>阵列列表允许重复

List numList = new ArrayList();
    numList.add(10);numList.add(20);numList.add(10);numList.add(20);
    System.out.println("\nList elements before duplicates removal: " + numList);
    Set mySet = new HashSet();
    mySet.addAll(numList);
    System.out.println("Set elements: " + mySet);
这将显示以下结果:

List elements before duplicate removal: 10, 20, 10, 20
Set Elements: 20 , 10 
如果您还想保留顺序,则可以使用
Set
接口的
TreeSet
实现

简单解决方案:
简单的解决方案是将您的实现更改为
设置
接口,以获得更准确的结果。

数组列表允许我们重复。检查thsi以防止该数组列表中的重复条目。 如果您要删除该复选框,则列表将包含您尝试添加的重复条目。
最好选择集合以避免重复。

ArrayList
允许重复,如果您不介意重复,可以使用第二种方法。如果您不想重复,您可能应该使用
集合
在这种情况下,集合(HashSet)更合适,那么在添加之前您不需要检查。请更清楚地描述问题的主题/标题。它不能解释你问了什么?