一、HashMap如何判断是否存在某个key
1、containsKey()方法
示例:
Map<String,List<String>> mapTest = new HashMap<String,List<String>>();
List<String> listTest = new ArrayList<String>();
mapTest.put("123",null);
mapTest.put("234",listTest );
System.out.println(mapTest.containsKey("123")) ;//true
System.out.println(mapTest.containsKey("1234")); //false
2、遍历Map,key值逐个比较
示例:
Map<String,List<String>> mapTest = new HashMap<String,List<String>>();
List<String> listTest = new ArrayList<String>();
mapTest.put("123",null);
mapTest.put("234",listTest );
Iterator keys = mapTest .keySet().iterator();
String key;
while(keys.hasNext()){
key = (String) keys.next();
if ("123".equals(key)) {
System.out.println("存在");
break;
}
}
3、get()方法----错误;
Map<String,List<String>> mapTest = new HashMap<String,List<String>>();
List<String> listTest = new ArrayList<String>();
mapTest.put("123",null);
mapTest.put("234",listTest );
System.out.println(mapTest.get("123")); //返回null,其实key存在
System.out.println(mapTest.get("12345")); //返回null,其实key不存在
二、判断list是否为空
1、CollectionUtils.isEmpty(list)方法
示例:
List<String> listTest = null;
System.out.println(!CollectionUtils.isEmpty(listTest));//false
listTest = new ArrayList<String>();
System.out.println(!CollectionUtils.isEmpty(listTest));//false
listTest.add("123");
System.out.println(!CollectionUtils.isEmpty(listTest));//true
2、list.isEmpty()方法--list为null时会抛异常,需要判断list!=null
示例:
List<String> listTest = null;
System.out.println(listTest.isEmpty());//抛异常,java.lang.NullPointerException
listTest = new ArrayList<String>();
System.out.println(listTest.isEmpty());//true
listTest.add("123");
System.out.println(listTest.isEmpty());//false