Java 删除集合list内的对象 Iterator

Java 删除集合list内的对象 Iterator

工作中有时用到list,里边一般存放好多对象,但是昨天我遇到了一个问题,想删除list中某些不想要的对象,但是删掉之后list的长度就会改变,会导致删除不掉。所以这里就用到了迭代器,之前开发过程中还没遇到用迭代器的问题,我的粗略理解就是list是有下标的,根据下标来定位某一个元素,而迭代器Iterator是指向下一个元素,所以删除一个list中的对象,需要使用迭代器来删除

List<User> userList = new ArrayList<User>();
Iterator<User> it = userList.iterator();
        while (it.hasNext()) {
			User userit = it.next();
			if ("张三".equals(userit.getUser_name())) {
				it.remove();
			}
			
		}

自己写了个测试类,可以明显看出list中的对象被删除

List<User> userList = new ArrayList<User>();
        User user1 = new User();
        User user2 = new User();
        user1.setUser_age(23);
        user1.setUser_name("张三");
        userList.add(user1);
        user2.setUser_name("李四");
        userList.add(user2);
        System.out.println(userList);
        Iterator<User> it = userList.iterator();
        while (it.hasNext()) {
			User user = it.next();
			if ("张三".equals(user.getUser_name())) {
				it.remove();
			}
			
		}
        System.out.println(userList);

测试结果如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[User(user_id=null, user_name=张三, user_age=23, user_sex=null, user_phone=null, user_account=null, create_time=null, roles=null, account=null), User(user_id=null, user_name=李四, user_age=null, user_sex=null, user_phone=null, user_account=null, create_time=null, roles=null, account=null)]
[User(user_id=null, user_name=李四, user_age=null, user_sex=null, user_phone=null, user_account=null, create_time=null, roles=null, account=null)]

闲暇随笔,虽知识略浅,但不积跬步无以至千里,码农之路勤勉深究,秃顶之日为期不远。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朱衣点头戈子衫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值