日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

本文介紹了如何遍歷列表以檢查某項(xiàng)是否為另一個(gè)列表的成員的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

我想檢查診斷代碼列表中的任何項(xiàng)目是否存在于另一個(gè)列表中。

我是Drools的新手,我仍在嘗試確定最佳方法,因?yàn)楫?dāng)前的方法不起作用(輸出顯示為NULL,而它應(yīng)該返回‘true’)。

Java POJO

public class EligibilityDomainObject {
    
    private List<String> listOfString;  
    public List<String> getListOfString() {  
         return listOfString;  
    }  
    public void setListOfString(List<String> listOfString) {  
         this.listOfString = listOfString;  
    }  
    public void addString(String value) {  
         if (listOfString == null) {  
              listOfString = new ArrayList<String>();  
         }  
         listOfString.add(value);  
    }  
    private Boolean isComplexPhysicalHealth;
    public Boolean getIsComplexPhysicalHealth() {
        return this.isComplexPhysicalHealth;
    }

    public void setIsComplexPhysicalHealth(Boolean isComplexPhysicalHealth) {
        this.isComplexPhysicalHealth = isComplexPhysicalHealth;
    }

口水

rule "Problems related to social environment"
    when
        $eligibilityDomainObject:EligibilityDomainObject($listOfString : listOfString,
            $listOfString memberOf "F77 EOO F99" )
    then
        $eligibilityDomainObject.setIsComplexPhysicalHealth(true);
end

Main

    public static void main(String[] args) {
        SpringApplication.run(RulesEngineApplication.class, args);
        

        try {
            KieServices kieServices = KieServices.Factory.get();
            KieContainer kContainer = kieServices.getKieClasspathContainer();

            KieSession kSession = kContainer.newKieSession("ksession-rules");
            
            EligibilityDomainObject eligibilityDomainObject = new EligibilityDomainObject(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);

            eligibilityDomainObject.addString("F77");
            eligibilityDomainObject.addString("F99");
            System.out.println("List of diagnosis codes: "+ eligibilityDomainObject.getListOfString().toString());
            kSession.insert(eligibilityDomainObject);
            kSession.fireAllRules();
            System.out.println("complex phys health flag: "+ eligibilityDomainObject.getIsComplexPhysicalHealth());
            
            kSession.dispose(); 
        } catch (Throwable t) {
            t.printStackTrace();
        }
    }

輸出

診斷代碼列表:[Z590,E0800]

復(fù)雜物理層運(yùn)行狀況標(biāo)志:空

預(yù)期輸出

診斷代碼列表:[Z590,E0800]

復(fù)雜物理層運(yùn)行狀況標(biāo)志:TRUE

推薦答案

您的規(guī)則將不符合‘F’、‘F7’、‘F9’…

考慮其他幾種方法:

rule "Problems related to social environment"
    when
        $eligibilityDomainObject:EligibilityDomainObject($listOfString : listOfString)
            value: String(value in ("F77", "EOO", "F99") ) from $listOfString
    then
        $eligibilityDomainObject.setIsComplexPhysicalHealth(true);
end

根據(jù)documentation,需要

當(dāng)您可以將所有事實(shí)插入到Drools引擎的工作內(nèi)存中或在約束表達(dá)式中使用嵌套對(duì)象引用時(shí),請(qǐng)避免使用from元素。

以下將導(dǎo)致規(guī)則針對(duì)每個(gè)EligibilityDomainObject僅觸發(fā)一次,而不是針對(duì)每個(gè)匹配值:

import static org.apache.commons.collections4.CollectionUtils.containsAny;

rule "Problems related to social environment"
    when
        $eligibilityDomainObject:EligibilityDomainObject(containsAny(listOfString, "F77", "EOO", "F99"))
    then
        $eligibilityDomainObject.setIsComplexPhysicalHealth(true);
end

一次收集匹配值

import static org.apache.commons.collections4.CollectionUtils.intersection;
import static com.google.common.collect.Sets.newHashSet;

rule "Problems related to social environment"
    when
        $eligibilityDomainObject:EligibilityDomainObject(
            $values : intersection(listOfString, newHashSet("F77", "EOO", "F99")), 
            !$values.isEmpty())
    then
        $eligibilityDomainObject.setIsComplexPhysicalHealth(true);
        System.out.println($values);
end

這篇關(guān)于如何遍歷列表以檢查某項(xiàng)是否為另一個(gè)列表的成員的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,

分享到:
標(biāo)簽:列表 成員 某項(xiàng) 檢查 遍歷
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定