集合概述
java的集合类是一些常用的数据类型,java集合就像一种容器,用于储存数量不等的对象,并按照一些规范实现一些常用的操作和算法
框架
在jdk5.0之前,Java集合会丢失容器中所有对象的范类,将所有对啊ing都当成Object类型进行处理,从Jdk5.0增加的了泛型
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支持两种排序方式:自然排序和定制排序,默认的情况下是自然排序
来源:51CTO
作者:wx5db39f8c13594
链接:https://blog.51cto.com/14589602/2458749