关于Map、Set、list集合需要注意的地方

一、非空判断:

//如果object为null,则设置为defaultValue
ObjectUtils.defaultIfNull(object, defaultValue);

//判断集合是否为null
List<String> list=new ArrayList<String>();
System.out.println(list.isEmpty()); //true
System.out.println(list.size()); //0

Set<String> set=new HashSet<String>();
System.out.println(set.isEmpty()); //true
System.out.println(set.size()); //0

Map<String, String> map=new HashMap<String, String>();
System.out.println(map.isEmpty()); //true
System.out.println(map.size()); //0

效率比较:
方法一(数据量大,效率低):
if(list!=null && list.size()>0){
}
方法二(数据量大,效率高):
if(list!=null && !list.isEmpty()){
}

二、关于Set集合排序:

Set集合元素是不讲究顺序的,如果需要按照一定的顺序输出,可使用TreeSet。TreeSet使用元素的自然顺序对元素进行排序,或者根据创建set时提供的Comparator进行排序,具体取决于使用的构造方法。通俗一点来说,就是可以按照排序后的列表显示,也可以按照指定的规则排序。定义规则如下:

  Set<String>times=new TreeSet<String>();
  tiime.add(str1);

三、判断Map集合中是否包含指定的键:

在未知返回的map集合构成的情况下,贸然直接取某个Key,会引发异常,此时应先进行判断
判断Map集合对象中是否包含指定的键名:可这样进行判断

Map map = new HashMap();       //定义Map对象
 map.put("apple", "苹果");      //向集合中添加对象
  map.put("computer", "神舟");
  map.put("book", "围城");
  map.put("time", new Date()); 
  String key = "book"; 
  boolean contains = map.containsKey(key);    //判断是否包含指定的键值
  if (contains) {         //如果条件为真
    System.out.println("在Map集合中包含键名" + key); //输出信息
  } else {
    System.out.println("在Map集合中不包含键名" + key);
  }

猜你喜欢

转载自blog.csdn.net/shenxiaomo1688/article/details/89706622