использование этого может помочь вам
Если вы используете pojo havin, то реализованных Equals достаточно, чтобы помочь списку удалить требуемый объект
класс pojo
class User {
private String username;
private String password;
public User(String username, String password) {
this.username = username;
this.password = password;
}
/**
* Get the value of password
*
* @return the value of password
*/
public String getPassword() {
return password;
}
/**
* Set the value of password
*
* @param password new value of password
*/
public void setPassword(String password) {
this.password = password;
}
/**
* Get the value of username
*
* @return the value of username
*/
public String getUsername() {
return username;
}
/**
* Set the value of username
*
* @param username new value of username
*/
public void setUsername(String username) {
this.username = username;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final User other = (User) obj;
if (!Objects.equals(this.username, other.username)) {
return false;
}
if (!Objects.equals(this.password, other.password)) {
return false;
}
return true;
}
@Override
public String toString() {
return "\nUser{" + "username=" + username + ", password=" + password + '}';
}
}
учебный пример использования
ArrayDeque arrayDeque = new ArrayDeque();
arrayDeque.add("A");
arrayDeque.add("B");
arrayDeque.add("C");
arrayDeque.add("D");
System.out.println(arrayDeque);
arrayDeque.remove("A");
arrayDeque.add("A");
System.out.println(arrayDeque);
ArrayDeque<User> usersDeque = new ArrayDeque();
final User userTaleb = new User("Taleb", "Mohammed");
usersDeque.add(userTaleb);
usersDeque.add(new User("Mansouri", "Abdellah"));
usersDeque.add(new User("Ziane", "Nadir"));
System.out.println(usersDeque);
usersDeque.remove(userTaleb);
usersDeque.add(userTaleb);
System.out.println(usersDeque);