比较两个列表,并查找第一个列表中的所有元素是否也在第二个列表中

时间:2014-12-13 10:52:38

标签: java arraylist

我在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中实现它的任何想法?

2 个答案:

答案 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;
    }