经常看到公司的面试题考Collection和Collections的区别。
要回答这个问题,我们首先要对java的容器有一定的了解。java中的容器一共分为两种,一种是存放独立个体,即Collection,一个槽只存放一个对立的对象,另一种是存放键值对象的容器,代表是Map,按照Key-Value存放。
翻看java api 我们可以看到,Collection是一个接口,他的孙子有大家常用的ArrayList、HashSet等等容器类。当我们查看Collections时,发现,他是一个工具类,这个类不能创建实力对象,里面的方法也大都是静态的。提供了各种对Collection实例的操作,例如Collections.addAll()等等。
总结:Collection是接口,代表容器的一种,Collections是个工具类,从继承上和Collection没有任何关系