【发布时间】:2018-08-26 00:56:46
【问题描述】:
我有两个 ArrayList(list1 和 list2)。我想看看 list2 中的任何 1 个(或多个)对象(它们是字符串)是否出现在 list1 中。
所以,举几个例子:
List<String> list1 = Arrays.asList("ABCD", "EFGH", "IJKL", "QWER");
List<String> list2 = Arrays.asList("ABCD", "1234");
//Should result in true, because "ABCD" is in list 1 & 2
但是,containAll()方法在这个用例中不起作用,因为1234不会出现在list1中,会导致结果为false,同样contains()也不起作用。
除了编写我自己的实现(分别比较从list2到list1的所有值)之外,是否有与contains()类似的方法,可以传入字符串列表,并将其与另一个列表进行比较,然后返回如果该列表中包含一个或多个值,则为 true?
更多示例:
ArrayList list1 = {1, 2, 3, 4, 5}
ArrayList list2 = {1, 2, 3} --> True
ArrayList list2 = {3, 2, 1} --> True
ArrayList list2 = {5, 6, 7, 8, 9} --> True
ArrayList list2 = {6, 7, 8, 9} --> False
【问题讨论】:
-
你在使用 java-8+ 吗?
-
@KevinDiTraglia 是的