常常使用 Map 对象来缓存数据, 比较常见的处理流程是:
1. 调用 Map 的 get() 方法获取数据;
2. 如果返回不为 null, 直接返回该数据;
3. 如果返回为 null, 则生成数据, 或者从其他地方获取数据, 然后存放入 Map 中, 最后返回该数据.
这里, 我们可以通过使用 Map 的containsKey() 方法来检测是否数据是否存在, 如果key存在, 则表明已经获取过一次数据,
那么直接返回该 key 在 Map 中的值. 不管是否为 null 都直接返回; 如果 key 不存在, 则去生成或者获取数据, 并放入到
Map 中, 并返回该数据.
这里使用 containsKey() 来检测可以应用于: 1. 从其他对方获取的数据可能为空, 并且不会有变化; 2. 获取数据比较耗时. 这个场景下, 使用该方法可以大大降低消耗, 特别是在同步情况下.
分享到:
相关推荐
`containsKey()`方法是`Map`接口中的一个关键方法,用于检查给定的键是否存在于该映射中。在这个场景中,我们将深入探讨`containsKey`的用法,并通过一个简单的实现来理解它的功能。 `Map.containsKey(Object key)`...
同时,我们可以通过`size()`方法检查Map中的键值对数量,这里`assert map.size() == 3`确认Map包含3个元素。 在Groovy中,Map的键可以是任意类型,但通常我们使用字符串。声明Map时,可以省略字符串引号,例如`["a...
4. **检查键是否存在**: `ContainsKey`方法可用于检查Map中是否已包含特定的键,返回布尔值。`if Dictionary.ContainsKey('key1') then ...`会判断'key1'是否存在于Map中。 5. **删除元素**: 使用`Remove`方法可...
if (map.containsKey(fieldName)) { field.set(entity, map.get(fieldName)); } } return entity; } catch (InstantiationException e) { throw new RuntimeException("无法实例化实体类", e); } } } ``` ...
- `containsKey(key)`:检查Map中是否存在指定的键。 - `containsValue(value)`:检查Map中是否存在指定的值。 - `values()`:返回Map中所有值的数组。 - `keys()`:返回Map中所有键的数组。 #### 三、具体实现 ``...
Java中的Map接口是Java集合框架的...在实际开发中,根据需求选择合适的Map实现类,并熟练掌握其操作方法,是提高代码效率的关键。Map接口提供的功能强大,能适应多种数据存储和检索场景,是Java程序员必备的基础知识。
* containsKey(key) 判断MAP中是否含有指定KEY的元素 * containsValue(value) 判断MAP中是否含有指定VALUE的元素 * values() 获取MAP中所有VALUE的数组(ARRAY) * keys() 获取MAP中所有KEY的数组(ARRAY)
`entrySet`方法返回一个包含Map中所有映射关系的`Set`视图,每个映射关系是一个`Map.Entry`对象,该对象包含键和值。 示例代码如下: ```java public static void method_3(Map, String> map) { map.put(8, ...
在Java 8中,Map接口新增了两个方法,分别是`replace(K key, V value)`和`replace(K key, V oldValue, V newValue)`,这两个方法极大地增强了Map数据结构的灵活性和效率。下面我们将深入探讨这两个方法的功能、使用...
这样,当用户访问对应的URL时,Struts2会调用`MyAction`的`execute()`方法,填充Map数据,并将结果转发到`resultPage.jsp`,在那里使用`<s:iterator>`遍历并显示Map内容。 除了基本的遍历,Struts2还提供了丰富的...
5. 检查键是否存在:`boolean containsKey = map.containsKey("key");` 6. 获取键集、值集和键值对集合:`Set<String> keys = map.keySet();`, `Collection<Integer> values = map.values();`, `Set<Map.Entry, ...
- **检查键是否存在**:`containsKey(Object key)`方法用于检查键是否存在于`Map`中。 - **检查值是否存在**:`containsValue(Object value)`方法用于检查值是否存在于`Map`的某个键值对中。 - **移除键值对**:`...
Map的主要方法包括`put`、`get`、`remove`、`containsKey`等。 ### 二、Map的遍历方法 #### 1. 常规遍历:通过`values()`获取值集合 这种方法是最简单也是最直接的方式,它通过调用`Map`的`values()`方法来获取...
在上述代码中,`mapToBean()`方法接收一个Map和一个目标类的Class对象,创建并初始化一个新的Bean实例,然后根据Map中的键值对设置Bean的属性。`beanToMap()`方法接收一个对象,创建一个Map并填充对象的字段值。 ...
- `boolean containsKey(Object key)`:判断Map是否包含指定的键。 - `boolean containsValue(Object value)`:判断Map是否包含指定的值。 - `int size()`:返回Map中的键值对数量。 - `boolean isEmpty()`:...
此文件是源代码,亲测有类似于java的Map对象的类似方法:put(key,value)、get(key)、keys()、values()、size()、isEmpty()、remove(key)、clear()、element(index)、containsKey(key)、containsValue(value)。...
5. containsKey()方法:containsKey()方法判断Map中是否包含指定的键。 6. containsValue()方法:containsValue()方法判断Map中是否包含指定的值。 7. get()方法:get()方法返回指定键对应的值。 8. putAll()方法:...
Map的添加操作主要是通过`put()`方法实现的,它可以将指定的键值对插入到Map中。语法如下: ```java V put(K key, V value); ``` 这里的`K`代表键的类型,`V`代表值的类型。例如,如果我们要创建一个存储学生姓名...
然后,我们遍历Map中的每个键值对,通过反射调用目标类的setter方法来设置属性值。对于Date和Boolean类型,我们需要额外处理,因为它们不是Java的基本类型,而是包装类。 对于Date类型,我们需要先创建一个Date对象...
System.out.println("Map中是否包含pear:" + map.containsKey("pear")); // 清空Map map.clear(); // 判断Map是否为空 System.out.println("Map是否为空:" + map.isEmpty()); } } ``` 在这个示例中,...