Java 如何将数组中的元素与SList中的元素进行比较?

Java 如何将数组中的元素与SList中的元素进行比较?,java,arrays,linked-list,Java,Arrays,Linked List,我正在编写一个方法,向购物中心的所有员工展示: public SList<Empleado> getEmployees(boolean show) { SList<Employee> allEmployees = new SList<Employee>(); for (int i = 0; i < centreEmployees.length; i++) { allEmployees.addFirst(centreEmp

我正在编写一个方法,向购物中心的所有员工展示:

public SList<Empleado> getEmployees(boolean show) {
    SList<Employee> allEmployees = new SList<Employee>();

    for (int i = 0; i < centreEmployees.length; i++) {
        allEmployees.addFirst(centreEmployees[i]);
    }

    for (int j = 0; j < shopList.length; j++) {
        for (int x = 0; x < shopList[j].getEmployees().length; x++) {
            allEmployees.addFirst(shopList[j].getEmployees()[x]);
        }
    }

    if (show) {
        for (int i = 0; i < allEmployees.getSize(); i++) {
            System.out.println(allEmployees.getAt(i).toStringE());
        }
    }
    return allEmployees;
}
public SList getEmployees(布尔显示){
SList allEmployees=新SList();
for(int i=0;i
centreEmployees和shopList是两个数组,我想将我添加到allEmployees列表的员工与我从
shopList[j].getEmployees()[x]
添加的员工进行比较

这是因为两个商店可能有相同的员工,当我试图向他们展示时,他们展示的是重复的,我只想给他们展示一次

他们正在展示复制品,我只想展示一次

简单地说:

不包含重复元素的集合。更正式地说,集合不包含e1和e2元素对,因此e1.equals(e2)最多包含一个空元素。正如它的名字所暗示的,这个接口为数学集合抽象建模

您需要通过重写
equals()
hashCode()
方法来提供Employee对象相等的逻辑

class Employee{
      String name;

      public boolean equals(Object o) {
         ...//logic to compare the equality of the Employee object
      }

      public int hashCode() {
         ...
      }

 }

内部使用
hashCode()
方法检查是否相等。如果两个Employee对象生成相同的散列码,那么它将为
equals()
方法检查是否相等


查看
Set
接口的另一个实现。

如果您的
SList
类有一个contains方法,您可以在将员工添加到您构建的
SList
之前使用它(这不是很有效)。如果允许您使用JDK集合,则您可能正在查找的结构可能是
集合。什么是
toString()
?@Braj SList是一个包含与该列表交互的方法的类。ToString()是一个以字符串形式返回属性的方法。@alexgarciab请尝试使用
Set
@ZouZou谢谢。使用包含的方法,我已经解决了这个问题。