前言
在项目过程中,可能使用MAP集合返回结果集合,以前我会取指定KEY值,在取他的VALUE值,来获取最后结果。如果KEY值不存在还会取出NULL值。但是今天看到同事使用了containsKey和containsValue函数,就不用那么麻烦了。
containsKey
containsKey boolean containsKey(Object key)如果此映射包含指定键的映射关系,则返回 true。更确切地讲,当且仅当此映射包含针对满足 (key==null ? k==null : key.equals(k)) 的键 k 的映射关系时,返回 true。(最多只能有一个这样的映射关系)。 参数: key - 测试是否存在于此映射中的键 返回: 如果此映射包含指定键的映射关系,则返回 true 抛出: ClassCastException - 如果该键对于此映射是不合适的类型(可选) NullPointerException - 如果指定键为 null 并且此映射不允许 null 键(可选)
以上是API介绍,用来验证是否存在此KEY值,KEY值必须是全符合,包含也是失败返回false。
例子:
package demo; import java.util.HashMap; import java.util.Map; public class fordemo { public static void main(String[] args) { Map<String, String> paramMap=new HashMap<String, String>(); paramMap.put("bc", "aa"); paramMap.put("a", "bb"); System.out.println(paramMap.containsKey("b"));--返回true System.out.println(paramMap.containsKey("a"));--返回false } }
containsValue
containsValue boolean containsValue(Object value)如果此映射将一个或多个键映射到指定值,则返回 true。更确切地讲,当且仅当此映射至少包含一个对满足 (value==null ? v==null : value.equals(v)) 的值 v 的映射关系时,返回 true。对于大多数 Map 接口的实现而言,此操作需要的时间可能与映射大小呈线性关系。 参数: value - 测试是否存在于此映射中的值 返回: 如果此映射将一个或多个键映射到指定值,则返回 true 抛出: ClassCastException - 如果该值对于此映射是不合适的类型(可选) NullPointerException - 如果指定值为 null 并且此映射不允许 null 值(可选)以上是API介绍,用来验证是否存在此Value值,Value值必须全部符合,包含也是返回false。
例子:
package demo; import java.util.HashMap; import java.util.Map; public class fordemo { public static void main(String[] args) { Map<String, String> paramMap=new HashMap<String, String>(); paramMap.put("1", "b"); paramMap.put("2", "b"); paramMap.put("3", "ab"); paramMap.put("4", "cc"); System.out.println(paramMap.containsValue("b"));--返回true System.out.println(paramMap.containsValue("a"));--返回false System.out.println(paramMap.containsValue("cc"));--返回true } }