Java集合Equality和Contains选项

时间:2014-03-30 15:39:39

标签: java

我有一个我创建的类型服务

的集合
   Collection<Service> collection = serviceMap.values();

集合返回的数据是param类型。

    Service first = collection.iterator().next();
    Set<Param> firstInputParam = first.getInputParamSet();
    Set<Param> firstOutputParam = first.getOutputParamSet();

firstInputParam和firstOutputParam的输出示例:

    first.getInputParamSet: [J]
    first.getOutputParamSet: [C]

我的目标和我的问题是我需要找到一种方法来比较以下outputParam是否在second.getInputParamSet的集合中。

例如i.getInputParamSet包含:

     Input ParamSet: [E, C]

我尝试过以下

      if (i.getInputParamSet().equals(first.getOutputParamSet())){

&安培;

      if (i.getInputParamSet().contains(first.getOutputParamSet())){

但这两种方法都没有用,任何人都可以帮助我。谢谢!

1 个答案:

答案 0 :(得分:2)

确保Param课程中有overridden hashCode and equals correctly并使用containsAll

if (i.getInputParamSet().containsAll(first.getOutputParamSet()))