使用java比较两个对象并查找缺少的字段

使用java比较两个对象并查找缺少的字段,java,arrays,mongodb,object,arraylist,Java,Arrays,Mongodb,Object,Arraylist,我想从用户提供的配料中找到配方 并告诉用户主配方成分中缺少的成分 我怎样才能找到丢失的配料?我的意思是,我应该如何进行比较 { "ingredients":[ {"title":"apple"}, {"title":"cheese"}, {"title":"banana"},

我想从用户提供的配料中找到配方 并告诉用户主配方成分中缺少的成分 我怎样才能找到丢失的配料?我的意思是,我应该如何进行比较

      {
          "ingredients":[
                          {"title":"apple"},
                          {"title":"cheese"},
                          {"title":"banana"},
                          {"title":"orange"},
                     ]
      } 
第二个是:

[
    {"title":"apple"},
    {"title":"cheese"},
]
它应该给我们另外两个缺失的信息,比如:

{"title":"banana"},
{"title":"orange"},

我不确定您打算使用什么对象,但如果每个对象都具有一组这些值,您可以根据Prabhaker a的回答找到差异,如下所示:

Set<String> objectASet = new HashSet<>(Arrays.asList("apple", "cheese", "banana", "orange"));
Set<String> objectBSet = new HashSet<>(Arrays.asList("apple", "cheese"));

Set<String> differenceSet = objectASet.removall(objectBSet);
Set objectASet=newhashset(Arrays.asList(“苹果”、“奶酪”、“香蕉”、“橙色”));
Set objectBSet=newhashset(Arrays.asList(“apple”、“cheese”);
Set differenceSet=objectASet.removall(objectBSet);

但是,这将更改对象A集合的值,因此需要制作副本以保留这些值。

这些不是java对象,因此:您可以在帖子中添加更多文本来解释您要比较的内容吗?它看起来像JSON语法,但JSON是纯字符串数据,将它们作为字符串进行比较是非常愚蠢的,因此至少您可能正在尝试比较解析后的JSON,在这种情况下:请谈谈您是如何开始尝试做您提到的您正在尝试做的事情的。如果这些是某些Java HashMap中的条目,然后,您可以随时查找这两个映射的值集,并对它们进行比较,然后在另一个集合中收集缺少的值。您的问题与集合中的MongoDB文档有关吗?您是否正在尝试查找给定组供应配料的缺失配料文档?您正在使用MongoDB Java驱动程序吗?