java - 从 ArrayList 中删除一个对象

标签 java arrays string oop arraylist

这里是java新手,只是无法理解数组。我需要从 ArrayList 中删除一个项目,但我不知道如何实际编码。我的程序读取 .csv 文件,从主类传递一个字符串到第二类,一旦进入第二类,我需要搜索数组列表并删除该字符串(如果找到)并返回 true说它被删除了。如有任何帮助,我们将不胜感激。

二等

public class PersonLogImpl {

private boolean remove;
private boolean isLicenseUnique;
private boolean add;
private final ArrayList<Person> person;

public PersonLogImpl() {
    this.person = new ArrayList<>();
}


public ArrayList<Person> getPersonLog(){
    return Person;
}

public boolean add(Person obj){  //add person object to ordered list 
   person.add(obj);

   return add;
}

public boolean remove (String license){ //remove person with specific license from list

    if(person.remove(person.equals(add))){
            remove = true;
    }
   return remove;
}

编辑: 人员类别

public class Person{
private String licenseNumber;

public Person(){

}

public Person(String licenseNumber){
    this.licenseNumber = licenseNumber;
}

public String getLicenseNumber(){
    return licenseNumber;
}

public void setLicenseNumber(String licenseNumber){
    this.licenseNumber = licenseNumber;
}

@Override
public int hashCode(){
    int hash = 7;
    return hash;
}

@Override
public boolean equals(Object obj){
    if (this == obj){
        return true;
    }
    if (obj == null){
        return false;
    }
    if (getClass() != obj.getClass()){
        return false;
    }
    final Person other = (Person) obj;
    if (!Objects.equals(this.licenseNumber, other.licenseNumber)){
        return false;
    }
    return true;
}

@Override
public String toString(){
    return "Person{" + "licenseNumber=" + licenseNumber + '}';
}

public boolean validateLicense(){
    boolean retValue = false;
    if ((this.licenseNumber.matches("^[a-zA-Z]{2}\\d{7}$")))
        retValue = true;
    return retValue;
}

最佳答案

试试这个:

public boolean remove (String license){ //remove person with specific license from list
    Iterator<Person> personIterator = person.iterator();
    boolean remove = false;

    while(personIterator.hasNext(){
        Person personInstance = personIterator.next();  
        if(personInstance.getLicense().equals(license))){
            personIterator.remove();
            remove = true;
            break;
        }
    }

   return remove;
}

关于java - 从 ArrayList 中删除一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41926264/

相关文章:

java - 如何发布API?

java - SolrCore初始化失败-最大直接内存可能太低

java - 在 eclipse 中运行 JUnit 测试后,我可以将结果导出为 XML 格式。如何使用 JUnit 命令行获取该 xml 文件?

python - 如何在 Python 中创建一个对象数组?

c - jni - 将 int[][] 转换为 jobjectArray 并将其返回给 java

SQL Split - 插入分层表结构

java - 可绘制文件夹

java - 简化 Java 中多种方法的代码?

java - 什么时候创建/销毁常量字符串?

java - 任何使用大字符串并返回 InputStream 的实用程序类/方法?