集合概述
java的集合类是一些经常使用的数据类型,java集合就像一种容器,用于储存数量不等的对象,并按照一些规范实现一些经常使用的操做和算法
框架
在jdk5.0以前,Java集合会丢失容器中全部对象的范类,将全部对啊ing都当成Object类型进行处理,从Jdk5.0增长的了泛型java
java全部的集合类都在java.util包下
Java.util.concurrent包下提供了一些多线程支持的集合类
java的集合类实现有两个接口派生而出:Colletion Map算法
上面的两个接口派生出了一些接口或实现类,java中的集合类分为三大类:
Set 集合将一个对象添加到Set集合时,sET集合没法记住提娜佳的顺序,所以Set集合中的元素不能重复,不然系统没法识别该元素,访问Set集合中的元素也只能根据元素自己进行访问
list 集合 与数据类型类似,list集合能够记住每次添加到元素的顺序,所以能够根据元素的索引访问List集合中的元素,List集合中的元素能够重复且长度是可变的
Map集合:没干过元素都是由Key/value键值对组成,能够根据每一个元素的key来访问对应的value,Map集合中的Key不容许重复,Value能够重复数据结构
迭代器能够采用赞成的方式对Collection集合中的元素进行遍历操做,开发人员无须关心Collection集合中的内容,也没必要实现IEnumberble或者IEnumberator就可以用foreach循环遍历集合中的部分或所有元素多线程
Set接口及其实现类
Set集合相似一个罐子,能够将多个元素怒丢进罐子里,但不能记住元素的提添加顺序,所以不容许包含相同的元素。Set接口继承Collection接口,没有提供任何额外的方法,其用法与Collection同样,只是特性不一样框架
set接口经常使用的实现类包括HashSet,treeset,enumset
hashset时set接口的典型实现类,大多数使用set集合时都是用该实现类,hashset使用hash算法来存储集合中的元素,具备良好的存取及查找性
treeset采用tree(树)的数据结构来存储集合元素,所以能够保证集合中的元素处于排序状态,TreeSet支持两种排序方式:天然排序和定制排序,默认的状况下是天然排序ide