HashMap size 陷阱:

  错误写法:

Map map = new HashMap(collection.size());  
for (Object o : collection) {  
  map.put(o.key, o.value);  
} 

       正确写法:(考虑当添加的元素数量达到HashMap容量的75%时将出现resize. )

Map map = new HashMap(1 + (int) (collection.size() / 0.75));  

对List的误用:

  不用一律用List,如下场景使用Array更适合:

  • list长度固定。
  • 对list遍历频繁。
  • 需要对数字进行包装(JDK没有提供基本类型的List,List的元素必须是对象类型)

错误写法:

List<Integer> codes = new ArrayList<Integer>();  
codes.add(Integer.valueOf(10));  
codes.add(Integer.valueOf(20));  
codes.add(Integer.valueOf(30));  
codes.add(Integer.valueOf(40));  

正确写法:

int[] codes = { 10, 20, 30, 40 };  

 

不使用finally块来释放资源

  正确的做法是在finally中来调用释放资源的代码out.close()