如何防止数组中的重复?

x33g5p2x  于 2021-07-04  发布在  Java
关注(0)|答案(3)|浏览(276)

我正在尝试制作一个程序,在这个程序中,你不能添加一个新员工,而这个新员工的id与已经使用的相同。但是这个代码无论如何都会添加雇员。对如何更改代码有什么建议吗?
此外,阵列最多可容纳10名员工。
我´如果需要的话,我很乐意提供更多的信息。

for (Employee employee : employeeArray) {
    if (employee != null && employee.getEmployeeID().equals(eID)) {
        counter = employeeArray.length - 1;
        System.out.println("An employee with " + eID + " is already in your collection");

    } else if (counter < 10) {
        employeeArray[counter] = e_obj;
        counter++;

    }
}
0pizxfdo

0pizxfdo1#

您可以按以下步骤进行:

// Check if the employee already exists

boolean isExisting = false;

for (Employe employe : employeArr) {
    if (employe != null && employe.getEmployeID() != null && employe.getEmployeID().equals(eID)) {
        isExisting = true;
        break;
    }
}

if(!isExisting) {
    // Your existing logic to add the employee
}
mctunoxg

mctunoxg2#

使用hashset而不是这个。只需创建hashset或set的对象,它就不会接受任何来自您的重复值。

dxxyhpgq

dxxyhpgq3#

如果getemployeeid返回一个字符串并将其与字符串eid进行比较,我建议查看是否有额外的空格或区分大小写的问题。

if (employee != null && employee.getEmployeeID().equals(eID)) {

另外,您不需要调整if子句中的计数器。

counter = employeeArray.length - 1;

相关问题