操作Map

For 循環map的entrySet

for (Map.Entry<String, String> book: bookMap.entrySet()) {
    System.out.println("key: " + book.getKey() + " value: " + book.getValue());
}

Iterator 循環map的entrySet

Iterator<Map.Entry<String, String>> _lineIt = _lineMap.entrySet().iterator();

while(_lineIt.hasNext()) {
    Map.Entry<String, String> itemMap = _lineIt.next();
}

For  循環keySet

  for (String key : map.keySet()) {    
   System.out.println("key= "+ key + " and value= " + map.get(key));    
  }   

For 循環map的values

  for (String v : map.values()) {    
   System.out.println("value= " + v);    
  }

過濾Map

Map<S
### Drools 中 Map操作 在 Drools 规则引擎中,`Map` 是一种常用的数据结构,可以方便地存储键值对数据。通过 Java 集合框架的支持,在 Drools 中可以直接利用 `java.util.Map` 接口来创建和操作映射表。 #### 创建并初始化 Map 对象 可以在 DRL 文件里定义全局变量或者作为事实对象的一部分引入已经实例化的哈希表: ```java // 定义全局map global java.util.Map myGlobalMap; rule "Initialize Global Map" when not (Map(this == myGlobalMap)) then myGlobalMap = new HashMap<>(); end ``` 对于传入的事实参数,则通常是在外部先构建好再插入到工作内存中去[^1]。 #### 访问与修改 Map 内容 一旦有了可用的地图实例之后就可以像常规Java程序那样对其进行读写访问了: - **获取单个元素**: 使用 get 方法按指定 key 获取 value 值. ```drools rule "Read from map" when $value : String() from entry["keyName"] of $myMap then System.out.println($value); end ``` - **更新/新增条目**: 可以直接调用 put 或者 merge 函数完成相应功能. ```drools rule "Update/Add Entry To Map" when ... then modify(myMap){ put("newKey","newValue"); }; end ``` 另外值得注意的是, 如果想要遍历整个集合的话也可以借助 foreach 结构来进行处理. #### 将 Map 插入 Working Memory 当需要把一个已有的映射关系加入规则执行上下文中时,可以通过 insert 操作符将其变为可被匹配的事实实体: ```drools insert(logicCreatedMap); // 添加新的fact进入working memory供后续rules使用 ``` 以上就是在 Drools 中关于 Map 类型的一些基本操作方法介绍.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值