我使用的是JBoss Drools 5.5.0规则。
我有一个ArrayList<ElementDetail>
和Map<String, ElementDetail>
,我需要打印出ArrayList中的所有ElementDetail,而不是Map。
class ElementDetail {
private String name;
...
}
ElementDetail类有一个名称变量,它被标识为Map键。
到目前为止,这是我尝试过的,但它没有给出匹配:
...
when
eleList : List()
$eleDetail : ElementDetail() from eleList
$map: Map(myMap.keySet contains $eleDetail.getName())
...
我能够在集合中找到匹配元素的类似帖子,但它没有获得地图中不匹配的元素:
答案 0 :(得分:4)
好吧,你必须使用包含的否定形式,myMap
不受限制。
$eleList : List()
$eleDetail : ElementDetail( $name: name ) from $eleList
$map: Map( keySet not contains $name )