写在前面
我们在Java开发的过程中总会使用到集合,比如Map、List、ArrayList、HashMap、LinkedList等等等,很多个集合类。
而有的时候我们也会使用到两个类,那就是Collection和Collections类,虽然只是一个字母之差,功能可是完全不一样,这也是我们今天要学习的知识。
CoIIection类和CoIIections类有什么区别?
相同点:
Collection和CoIIections类同属于java.util包下的文件。
好像除了这个共同点,剩下的就是名字有点像了。
不同点:
Collection是所有集合类,比如List、Map等的顶级接口,很多集合抽象类都是继承这个接口;
并且这个接口中制定了一系列的规范,比如add、remove、set、equals等集合中必备功能方法,所以这些在所有的集合中都存在,也都能调用成功。
这个接口在日常开发中使用到的情况并不多,更多的是在类图中的顶部一直被人们看到。
Collections类是集合类中的工具类,这个类我们在日常开发中经常会使用到,其中一些常用方法也给我们日常开发中提供了很大的便利。
比如该类中的sort排序方法,我们在开发中就经常用到。
再比如类中的reverse反转方法,该方法可能用到的比较少一点,其功能是可以根据元素的自然顺序进行降序排序。
还有fill方法,可以将指定元素替换指定到集合或者列表中的所有元素。
Collections类还有很多的工具方法,大家也可以去Collections源码中查看一番,相信会收获更多的知识。
总结
CoIIection类和CoIIections类有什么区别?如果面试官问起这个问题,其实也并不是这两个方法就一定有着千丝万缕的关系,只不过长得像了点,才会引起大家的发问,淡定回答就好。