在数组列表中查找重复元素

use*_*918 0 java arraylist

import java.util.ArrayList;

public class list {

protected ArrayList<String> a = new ArrayList<String>();

public boolean ad(String aa)
{ 
    boolean t=true;
    a.add(aa);

     for(String value : courses)
     {
            if(a.contains(value))
            {
             a=false;
            }
            else
            { 
                a=true;

            }
     }
    return a;

}

}
Run Code Online (Sandbox Code Playgroud)

如果 arraylist 课程包含重复元素,该程序应该返回 false。否则,如果我们正在插入新元素,则返回 true。

上述代码的预期输出是

true
Run Code Online (Sandbox Code Playgroud)

但它只在任何条件下返回 false。

Jac*_* G. 6

您可以简单地利用ArrayList#contains来验证元素是否已存在于List.

public boolean addCourse(String course) {
    if (courses.contains(course)) {
        return false;
    }

    return courses.add(course);
}
Run Code Online (Sandbox Code Playgroud)