集合:
1、数组:
1、遍历尽可能避免重复的计算和调用;
2、尽可能减少变量的作用域,使变量的生命周期变短;
3、使用foreach循环;变量名见名之意;
4、尽可能使用一直现有的成熟的东西,如一些框架;
5、Foreach是使用在集合或者实现课迭代器接口的对象。
6、数组排序时可以使用Arrays工具类。
7、遵守工具类编写规范,尽可能不包含状态
8、在计算基数的时候应该使用num%2!=0 ;num%2 == 1在num为负数的时候会出错。
9、在数学计算的时候要注意数组越界。
10、忘记vector,常用的是ArrayList,LinkedList,最常用的是ArrayList
不管是尾部删除还是中间删除一般都是ArrayList比较快,这是因为ArrayList在移动元素的时候使用的native方法,直接将值进行批处理移动。(可以参考源代码)。
11、面向接口编程
12、Collections可以对List进行排序
13、待排序的元素如果有重复,则不适用于TreeMap,因为它会将相同的元素覆盖
14、Collections 工具类提供很多集合类相关的工具,当使用集合的时候,可以考虑。
15、搞清楚byte和char之间的差别
16、io一定要关闭,流和流之间关闭时一定不能相互影响
17、常用优化策略:批处理,如BufferedWriter
18、InputStreamReader可以讲byte流和char进行转换,且可以指定字符集。还可以在加一个buffer。
19、处理文件的时候一定要流式处理,一批一批的处理,因为可能文件比较大。