Java 删除pojo arraylist项

Java 删除pojo arraylist项,java,arraylist,Java,Arraylist,当pojo类arraylist项等于arraylist字符串时,我需要删除它 下面是我发布的代码: Sample.java: import java.util.ArrayList; public class Sample { public static void main(String args[]) { ArrayList<String> arrStr; ArrayList<Student> arrStudent;

当pojo类arraylist项等于arraylist字符串时,我需要删除它

下面是我发布的代码:

Sample.java:

import java.util.ArrayList;

public class Sample {

    public static void main(String args[]) {

        ArrayList<String> arrStr;

        ArrayList<Student> arrStudent;

        arrStr = new ArrayList<String>();

        arrStudent = new ArrayList<Student>();


        arrStr.add("100");
        arrStr.add("150");
        arrStr.add("200");
        arrStr.add("250");
        arrStr.add("300");

        arrStudent.add(new Student("Max", "Get Data ", "140"));
        arrStudent.add(new Student("Max", "Get Data ", "150"));
        arrStudent.add(new Student("Max", "Get Data ", "160"));
        arrStudent.add(new Student("Max", "Get Data ", "200"));
        arrStudent.add(new Student("Max", "Get Data ", "230"));


        for (String item : arrStr) {

            System.out.println("item :" +item);

            System.out.println("ArrListCheck" +arrStudent.toString());


            if (arrStudent.contains(item)) {

                arrStudent.remove(item);

            } else {

                System.out.println("Else Called");


            }
        }

    }

}
public class Student {

    public String name;

    public String description;

    public String id;

    public Student(String name, String description, String id) {
        this.name = name;
        this.description = description;
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public String getDescription() {
        return description;
    }

    public String getId() {
        return id;
    }

    @Override
    public String toString() {

        String str = name +""+description+""+id;

        return str;
    }

}
item :100
ArrListCheck[MaxGet Data 140, MaxGet Data 150, MaxGet Data 160, MaxGet Data 200, MaxGet Data 230]
Else Called

item :150
ArrListCheck[MaxGet Data 140, MaxGet Data 150, MaxGet Data 160, MaxGet Data 200, MaxGet Data 230]
Else Called

item :200
ArrListCheck[MaxGet Data 140, MaxGet Data 150, MaxGet Data 160, MaxGet Data 200, MaxGet Data 230]
Else Called

item :250
ArrListCheck[MaxGet Data 140, MaxGet Data 150, MaxGet Data 160, MaxGet Data 200, MaxGet Data 230]
Else Called

item :300
ArrListCheck[MaxGet Data 140, MaxGet Data 150, MaxGet Data 160, MaxGet Data 200, MaxGet Data 230]
Else Called
输出:

import java.util.ArrayList;

public class Sample {

    public static void main(String args[]) {

        ArrayList<String> arrStr;

        ArrayList<Student> arrStudent;

        arrStr = new ArrayList<String>();

        arrStudent = new ArrayList<Student>();


        arrStr.add("100");
        arrStr.add("150");
        arrStr.add("200");
        arrStr.add("250");
        arrStr.add("300");

        arrStudent.add(new Student("Max", "Get Data ", "140"));
        arrStudent.add(new Student("Max", "Get Data ", "150"));
        arrStudent.add(new Student("Max", "Get Data ", "160"));
        arrStudent.add(new Student("Max", "Get Data ", "200"));
        arrStudent.add(new Student("Max", "Get Data ", "230"));


        for (String item : arrStr) {

            System.out.println("item :" +item);

            System.out.println("ArrListCheck" +arrStudent.toString());


            if (arrStudent.contains(item)) {

                arrStudent.remove(item);

            } else {

                System.out.println("Else Called");


            }
        }

    }

}
public class Student {

    public String name;

    public String description;

    public String id;

    public Student(String name, String description, String id) {
        this.name = name;
        this.description = description;
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public String getDescription() {
        return description;
    }

    public String getId() {
        return id;
    }

    @Override
    public String toString() {

        String str = name +""+description+""+id;

        return str;
    }

}
item :100
ArrListCheck[MaxGet Data 140, MaxGet Data 150, MaxGet Data 160, MaxGet Data 200, MaxGet Data 230]
Else Called

item :150
ArrListCheck[MaxGet Data 140, MaxGet Data 150, MaxGet Data 160, MaxGet Data 200, MaxGet Data 230]
Else Called

item :200
ArrListCheck[MaxGet Data 140, MaxGet Data 150, MaxGet Data 160, MaxGet Data 200, MaxGet Data 230]
Else Called

item :250
ArrListCheck[MaxGet Data 140, MaxGet Data 150, MaxGet Data 160, MaxGet Data 200, MaxGet Data 230]
Else Called

item :300
ArrListCheck[MaxGet Data 140, MaxGet Data 150, MaxGet Data 160, MaxGet Data 200, MaxGet Data 230]
Else Called

正如您在上面的代码中看到的,它总是调用else。我不知道如何将arraylist字符串中的两个id与arraylist pojo类相等,然后我必须根据id删除arraylist pojo类项。任何人都可以帮助我

您可以迭代
ArrayList
而不是迭代
ArrayList

for(int i=0;i
您的
是一个在
arrStr
值上迭代的字符串。 然后尝试将字符串与此处的Student对象进行比较:
if(arrStudent.contains(item))

因为ARRStudio包含学生,所以它永远不会为真。您将转到else子句…

猜测
Map
在这里更合适。