类图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/e24ee02599c93d23beafdc8e68387aee.png)
Collection的概念定义如下:
![](https://i-blog.csdnimg.cn/blog_migrate/473298dbda18e563ca8838edd0a3adaa.png)
Set的概念定义如下:
![](https://i-blog.csdnimg.cn/blog_migrate/571107caeaa8a8173a2930f6de8b24fa.png)
List的概念定义如下:
![](https://i-blog.csdnimg.cn/blog_migrate/14956a40e3b569a27b888beaea358795.png)
可以看到,Collection是数据集合的最高抽象,List和Set在数据可重、有序性上做了概念上的细分,其中List表示
有序、可重复的数据集合(这里的有序指的是遍历时的数据顺序与添加顺序是否一致,元素的位置是否可控),
而Set表示不可重复的数据集合,至于Set的有序性在不同的子类中含义不同,如HashSet中其遍历顺序是不可控的,
而TreeSet中其遍历顺序是可以通过comparator确定的。一般情况下,Set元素的遍历顺序与其插入顺序是不一致的。