刚开始学java的时候,分不清Collection
和Collections
,其实这两个东西是完全不一样的东西。
- Collection是一个接口,是java集合中的顶级接口之一,衍生出了java集合的庞大的体系。下面的图可以说明:
继承Collection
的子类关系如下:
既然Collection
是接口,那么它本身就是不可以实例化的,它的子类或者实现类是可以的。【java集合梳理】— Collection接口详解
- 而
Collections
则是工具类,是java集合中常用的方法的一个小小汇总,覆盖了排序,搜索,线程安全之类的一些算法,里面基本都是静态方法,可以直接用类名调用。具体源码解析看这个:【java集合梳理】— Collections接口源码解析
两个东西相同之处,大概是都是和集合相关的,而Collections
感觉名字起得不太好,应该改成CollectionUtils
,一目了然????????????(开个玩笑)