java arraylist 重复_Java:查看ArrayList是否包含具有重复值的ArrayList

我正在尝试创建一个方法来确定ArrayList(a2)是否包含ArrayList(a1),假设两个列表都包含重复值(containsAll不会像ArrayList包含重复值那样工作,那么它将返回true 无论值的数量)

这就是我所拥有的:(我相信它会起作用但我不能在for循环中使用.remove)

public boolean isSubset(ArrayList a1, ArrayList a2) {

Integer a1Size= a1.size();

for (Integer integer2:a2){

for (Integer integer1: a1){

if (integer1==integer2){

a1.remove(integer1);

a2.remove(integer2);

if (a1Size==0){

return true;

}

}

}

}

return false;

}

谢谢您的帮助。

两个清单中的项目顺序是否重要?

a1Size的值仅计算一次(在循环之前),因此基于其值的逻辑是无意义的

要从arrayList中删除,请使用迭代器

你为什么不简单地使用removeAll?

您是否在询问是否包含相同数量的重复项? 也许一些示例数据会有所帮助。 例如:[狗,猫,猫,鸟]是包含[猫,狗]是假的但是包含[猫,猫,狗]是真的吗?

是的,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值