Java中的集合类
Collectio
framework我们在前面学习过java数组,java数组的程度是固定的,在同一个数组中只能存放相同的类型数据。数组可以存放基本类型的数据,也可以存入对象引用的数据。在创建数组时,必须明确指定数组的长度,数组一旦创建,其长度就不能改变,在许多应用的场合,一组数据的数目不是固定的,比如一个单位的员工数目是变化的,有老的员工跳槽,也有新的员工进来。为了使程序方便地存储和操纵数目不固定的一组数据,JDK中提供了java集合类,所有java集合类都位于javautil包中,java数组不同,与java集合类不能存放基本数据类型数据,集合类不能存放基本数据类型数据,而只能存放对象的引用。而只能存放对象的引用。Java集合类分为三种
Set集合:集合中对象不按特定的方式排序。并且没有重复对象,但它有些实现类中的
对象按特定方式排序。无序,不能重复
List(列表):集合中的对象按照检索位置排序,可以有重复对象,允许按照对象在集中
的索引位置检索对象,List和数组有些相似。有序,可以重复
Map(映射):集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对
象,值对象可以重复,它的有些实现类能对集合中的键对象进行排序。
Java的主要集合类的框架图
Collectio
和Iterator接口在Collectio
接口中声明了适用于java集合(只包括Set和List)通用方法。Collectio
接口的方法方法描述
fboolea
addObjectovoidclearboolea
co
tai
sObjectoboolea
isEmptyIteratoriteratorboolea
removeObjectoi
tsizeObjecttoArray
向集合中加入一个对象的引用删除集合中所有对象,即不再对持有对象的引用判断在集合中是否含有特定对象的引用判断集合是否为空返回一个Iterator对象,可用它来遍历集合中的元素从集合中删除一个对象的引用返回集合中元素的数目返回一个数组,该数组包含集合中的所有元素
Set接口和List即可都继承了Collectio
接口,而Map接口没有继承Collectio
接口,因此可以对Set对象和List对象调用以上方法,但是不能对Map对象调用以上方法。Collectio
接口的iterator和toArray方法多用于获得集合中的所有元素,前者返回一个Iterator对象,后者返回一个包含集合中所有元素的数组。Iterator隐藏底层集合的数据结构,向客户程序提供了遍历各种类型的集合的统一接口。Iterator接口中声明了如下方法:hasNext:判断集合中的元素是否遍历完毕,如果没有,就返回true。
ext:返回下一个元素remove:从集合中删除上一个由
ext方法返回的元素。r