【发布时间】:2025-11-24 23:50:01
【问题描述】:
假设:
a = ["s", "i", "n", "e", "d"];
b = ["s", "e", "n", "d"];
(a 和 b 的类型为 List<String>)
如何确定b 中的所有字母是否都包含在a 中? -- 不一定按顺序排列(在这种情况下,这是真的,因为[s,e,n,d] 在a 和b 中)
使用a.containsAll(b) 并不总是有效!
另一个例子:
a=["b", "a", "z", "z", "z"]
b=["a", "a", "b", "b"]
这里我希望结果为false,因为[a,a,b,b] 在a 中没有以任何顺序出现,但使用a.containsAll(b) 将返回true!
【问题讨论】:
-
那么为什么不匹配两个列表的大小。如果相等,则选择 containsAll。
-
“修复”是什么意思?如果你想要自己的逻辑,只需编写一个函数来完成它
-
我想我的意思是有办法改变 containsAll --- 比如 a.containsAll(b, 1) 其中 1 表示它只会扫描每个字母一次
-
啊我喜欢naveen的回答
-
@PankajKumar 的问题是我也可能有 a=[b,a,n,z,z,z] 和 b=[b,a,n,a,n,a]它会返回真,因为 a 包含 b, a, n