一、两者的区别
Collection接口和Collections类都在java.util包下,前者是接口,后者是类。
1、java.util.Collection是集合类的*接口。它提供对集合对象进行基本操作的通用接口方法。它的直接继承接口有List,Set和Queue.
2、java.util.Collections是一个包装类。此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它不能被实例化,起到一个工具类的作用。常见的如对集合元素进行排序、搜索以及线程安全等各种操作,服务于Java的Collection框架。
二、集合的结构
1、List和Set继承自Collection接口。
Set无序不允许元素重复。HashSet和TreeSet是两个主要的实现类。
List有序且允许元素重复。ArrayList、LinkedList和Vector是三个主要的实现类。
2、Map也属于集合系统,但和Collection接口没关系。Map是key对value的映射集合,其中key列就是一个集合。key不能重复,但是value可以重复。 HashMap、TreeMap和Hashtable是三个主要的实现类。
3、SortedSet和SortedMap接口对元素按指定规则排序,SortedMap是对key列进行排序。