我在Java中有两个String对象列表,我想要的是一个方法,如果我的第一个列表中的所有元素也是第二个元素的元素,它将返回true
。
例如:
List<String> validCombination: [3, 5, 12]
List<String> currentCombincation: [2, 3, 4, 5, 7, 12, 14]
由于currentCombination
包含validCombination
我的方法的所有元素,因此应返回true
。
如果currentCombination
缺少validCombination
的一个或多个元素,例如
List<String> validCombination: [3, 5, 12]
List<String> currentCombincation: [2, 4, 5, 7, 12, 14]
它应该返回false
。
关于如何在Java中实现它的任何想法?
答案 0 :(得分:3)
如果列表包含给定true
的所有元素,则可以使用返回Collection
的{{3}}方法。例如:
boolean containsAll = currentCombination.containsAll(validCombination);
由于您需要一个方法,因此可以这样写:
public static boolean contains(List<?> currentCombination, List<?> validCombination) {
return currentCombination.containsAll(validCombination);
}
答案 1 :(得分:1)
boolean containsAll(Collection<?> args)
是您可以用于解决方案的方法
作为
if(currentCombincation.containsAll(validCombination))
{
return true;
}