关于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);
}
还没有评论,来说两句吧...