java 多层map 递归判断是否存在create_time
时间: 2023-09-03 10:06:02 浏览: 142
可以使用递归来判断多层Map中是否存在create_time属性,具体代码如下:
```java
public static boolean isExistCreateTime(Map<String, Object> map) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
Object value = entry.getValue();
// 如果value是Map类型,则递归调用isExistCreateTime方法
if (value instanceof Map) {
boolean result = isExistCreateTime((Map<String, Object>) value);
if (result) {
return true;
}
} else if (entry.getKey().equals("create_time")) {
return true;
}
}
return false;
}
```
以上代码中,我们首先遍历Map中的每一个键值对,如果对应的值是一个Map类型,则递归调用isExistCreateTime方法来查找是否存在create_time属性。如果存在,则返回true。如果对应的值不是Map类型,我们判断该键是否为create_time,如果是,则返回true。如果遍历完整个Map都没有找到create_time属性,则返回false。
使用方法如下:
```java
Map<String, Object> map = new HashMap<>();
map.put("key1", "value1");
Map<String, Object> innerMap = new HashMap<>();
innerMap.put("key2", "value2");
innerMap.put("create_time", "2021-07-01 10:00:00");
map.put("key3", innerMap);
boolean result = isExistCreateTime(map);
if (result) {
System.out.println("存在create_time属性");
} else {
System.out.println("不存在create_time属性");
}
```
以上代码中,我们创建一个多层Map,然后调用isExistCreateTime方法来判断是否存在create_time属性。如果存在,则输出存在,否则输出不存在。
阅读全文