一:Collection接口
集合:集合是java中提供的一种容器,能够用来存储多个数据
Collection即单列集合。统必定义了一套单列集合的接口java
向集合中添加一个元素。集合更改则添加成功返回true,若是该集合不容许重复而且已经包含指定的元素。返回false。部分子类的add方法可能会限制添加到集合中的元素类型,或者不会将NULL添加到集合中。数组
清空掉集合中的全部元素安全
若是集合中包含指定元素那么返回true。特别的,若是集合中也包含NULL元素的时候而且要查找的元素也是NULL的时候也返回true。数据结构
若是集合中没有元素返回true。ide
删除集合中的指定的元素。若是存在NULL,也删除。函数
返回该集合中元素的个数。若是超过了Integer.MAX_VALUE,那么返回Integer.MAX_VALUE。线程
见名知意,返回包含此集合中全部元素的数组。若是这个集合的迭代器保证元素有序,那么该方法与其迭代器中元素顺序一致。而且该方法返回的数组是拷贝出来的(某些集合底层数组实现,区别这个),能够进行任意的更改。对象
二:List 接口
和Set集合最大的不一样即:blog
从Api列表中咱们能够看到List接口定义了一个listIterator函数,返回一个ListIterator接口。该接口继承自Iterator接口,并提供了更多的函数。排序
Set 接口
相比于List集合最大的区别:
这里咱们强调一下,有些地方说Set集合是无序的,实际上是不严谨的。能够看到jdk注释中是没有指明这一点的,那么List集合的注释中的有序和有些人常说的Set集合是无序的是什么意思呢?
首先要搞清楚、Java中有序和无序的概念:
有序指的是存储顺序与添加顺序相同,而且能够经过下标访问,List就是这样。
无序恰好相反,指的是存储顺序与添加顺序无关,没有下标,固然也不可能经过下标访问,Set就是如此。
这里须要注意的是,有序、无序中的“序”与咱们日常所说的“顺序”无关。
而TreeSet是无序,但又是排好序的。即添加顺序与存储顺序无关,可是其中的对象实现了排序。
1.数组的长度是固定的,集合的长度是可变的2.数组中存储的是一种数据类型的元素,能够存储基本数据类型也能够存储引用数据类型,集合存储的都是对象,并且对象的数据类型能够不同。再开发当中通常当对象较多的时候,使用集合来存储对象