一、背景
1.最近做了一个需求,就是从一个list集合中循环删除一个状态为0的对象,今天我们来讲下我们具体怎么使用,下面这两种方法是我亲自测试的,如果有疑问,请留言,第一时间回复解决。
2.我写的博客基本上都是我亲自测试的,可能有哪些问题没有想到,也希望大家欢迎批评指正。
二、项目结构图
1.项目图片
三、具体解析代码
1.User.java
public class User {
private String status;
private int id;
private String name;
private int age;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"status='" + status + '\'' +
", id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
四、方法一
1.demo1.java
public class demo1 {
public static void main(String[] args) {
User user = new User();
user.setStatus("0");
user.setId(1);
user.setName("张三");
user.setAge(18);
User user1 = new User();
user1.setStatus("1");
user1.setId(2);
user1.setName("李四");
user1.setAge(19);
List<User> list = new ArrayList<>();
list.add(user);
list.add(user1);
System.out.println(list.toString());
Iterator<User> it = list.iterator();
while (it.hasNext()) {
User userObj = it.next();
if ("0".equal(userObj.getStatus())) {
it.remove();
}
}
System.out.println(list.toString());
}
}
2.结果
五、方法二
1.demo2.java
public class demo2 {
public static void main(String[] args) {
User user = new User();
user.setStatus("0");
user.setId(1);
user.setName("张三");
user.setAge(18);
User user1 = new User();
user1.setStatus("1");
user1.setId(2);
user1.setName("李四");
user1.setAge(19);
User user2 = new User();
user2.setStatus("1");
user2.setId(2);
user2.setName("李四");
user2.setAge(19);
List<User> list = new ArrayList<>();
list.add(user);
list.add(user1);
list.add(user2);
System.out.println(list.toString());
List<User> removeList = new ArrayList<User>();
for (User result : list) {
if ("0".equals(result.getStatus())) {
removeList.add(result);
}
}
list.removeAll(removeList);
list.remove(user);
System.out.println(list.toString());
}
}
2.结果
六、结束
上面就是我测试的结果,希望能帮助到大家!!!