Drools 比较drl文件中列表中的对象

Drools 比较drl文件中列表中的对象,drools,Drools,我有一个类似于[man1,man2,man3,man4]的Man类型的对象列表 我需要比较4个对象,如下所示。 (man1.name==man2.name,man2.name==man3.name,man3.name==man4.name) 如何在drl中执行此操作。我不能像这样迭代对象,drl将每个对象与所有其他对象进行比较。鉴于Man对象的顺序很重要,我猜它们必须包含某种类型的id或允许您对其进行排序的属性。如果是这种情况(我假设该属性的名称为id),您可以尝试以下方法: rule "Som

我有一个类似于[man1,man2,man3,man4]的Man类型的对象列表

我需要比较4个对象,如下所示。 (man1.name==man2.name,man2.name==man3.name,man3.name==man4.name)


如何在drl中执行此操作。我不能像这样迭代对象,drl将每个对象与所有其他对象进行比较。

鉴于
Man
对象的顺序很重要,我猜它们必须包含某种类型的
id
或允许您对其进行排序的属性。如果是这种情况(我假设该属性的名称为
id
),您可以尝试以下方法:

rule "Some Rule" 
when 
  $m1: Man()
  not Man(id > $m1.id)
  forall( 
    Man(name == $m1.name)
  )
then 
  //Action
end 

希望能有所帮助,

好的,那么。。如果我必须为所有四个对象按名称分组。。有什么方法可以做到这一点吗?将那些同名的对象分组。。这可能吗??