我一直有一种观点,就是尽量使用jdk提供的code,不要秀智商自己写。
自己写的弊端很明显:1、bug问题。jdk比较都是大牛编的,还经过众多大众使用检验,bug率应该远远低于你个人写的。2、通用性。你写的规范还好,别人看函数名,类名就可以看懂。但是如果动不动就几万行、几十万或几百万行代码,谁有闲工夫一遍遍翻你写的工具类找实用方法。3、问题的警示性。你写的编译器没法智能提醒。但是像final啊,.unmodifiableMap之类,你试图去改变的时候,编译器会自动提示。开发更友好。
因为之前习惯使用List,Set,Map等集合类。忽视了Collections类,下面来介绍一下。
jdk Collections 类注释上图是Collections类的jdk注释。我们中注释中可以看出,这个类提供了大量的静态方法,用于集合处理。具体方法有:
1、排序,sort方法。
2、二分查找,binary开头
3、倒置,reverse
4、打乱-即混洗 shuffle
5、交换 swap
6、copy (深拷贝)
7、min
8、max
9、旋转 rotate
10、list子串查找,从前也可以从后
11、unmodifiable系列 readonly 方法
12、synchronized系列,不过 目前有更高效的 线程安全集合类 Concurrent系列。下回合讲。
这里主要罗列了,平时大家易于使用的,但是 都喜欢自己写的方法。其他冷门方法就不在这里罗列。建议有空去看看 Collections类的源码,加深自己对算法的理解。
网友评论