попробуйте следующие решения,
сначала вы должны создать класс Employee, включающий методы hasCode()
и equals()
следующим образом,
public class Employee {
private int code;
private String lable;
public Employee(int code, String lable) {
super();
this.code = code;
this.lable = lable;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getLable() {
return lable;
}
public void setLable(String lable) {
this.lable = lable;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + code;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Employee other = (Employee) obj;
if (code != other.code)
return false;
return true;
}
}
выше hasCode()
и equals()
методы генерируются Eclipse Ide. Вы можете создать эти методы вручную следующим образом:
@Override
public boolean equals(Object obj) {
if (obj instanceof Employee) {
return Objects.equals(code, ((Employee) obj).code);
}
return false;
}
@Override
public int hashCode() {
return this.code;
}
равно Метод : указывает, является ли какой-либо другой объект "равным" этому. для получения дополнительной информации
hashCode Method : Возвращает значение кода ha sh для объекта. Этот метод поддерживается в пользу таблиц ha sh, таких как таблицы, предоставляемые HashMap. для получения дополнительной информации
затем добавьте массив employee
в ArrayList. потому что нижеприведенные методы описывают, как получить различные значения из ArrayList.
Emploi[] employee = tabLieuTrav.getEmployee();
List<Employee> empList = new ArrayList(Arrays.asList(employee));
, тогда вы можете использовать один из следующих методов для удаления повторяющихся значений из метода ArrayList (empList
)
во-первых, удалите дубликаты из ArrayList с помощью Set (коллекция, не содержащая дублирующихся элементов) для получения дополнительной информации
HashSet<Employee> uniqueEmployee = new HashSet(empList);
метод два, удалите дубликаты из ArrayList с помощью java 8 потоковый метод (вернуть отдельный элемент из коллекции) для получения дополнительной информации
List<Employee> uniqueEmployee = empList..stream().distinct().collect(Collectors.toList();
наконец, вы можете использовать uniqueEmployee
коллекцию следующим образом,
for (Employee employee : uniqueEmployee) {
code = employee.getCode();
if (code != null) {
mapParam.addParamValue(CODE + count, code);
} else {
mapParam.addParamValue(CODE + count, null, Types.VARCHAR);
}
}