集合的由来:
首先,数组的长度是固定的,如果要改变数组的长度需要创建新的数组将旧数组里的元素拷贝到新的数组里,这样使用起来很不方便。
故, java给开发者提供了一些集合类,这些集合能够存储任意长度的对象,长度可以随着元素的增加而增加,随着元素的减少而减少,使用起来就很方便了。
在java.util包中常用的集合类有List、Set、Map。其中List和Set实现了Collection接口。这些集合又称为容器。
集合继承关系图:
集合类的一些特点:
1,Collection接口是List接口和Set接口的父接口,通常情况下不能直接被使用。
2,List接口实现了Collection接口,List接口允许存在重复的对象,按照对象的插入顺序排列。顾名思义:里面存 放的数据是有顺序的,可以存放重复的数据。
3,Set接口实现了Collection接口,Set接口不允许存在重复的对象,按照自身的内部排序规则排列。顾名思义:里面存放的数据是没有顺序的,不可以存放重复的数据。
4,Map接口以键值对(kay---value)的形象存放对象,其中键(kay)对象不可以重复,值(value)对象可以重复,按照自身的内部排序规则排列。
数组和集合的区别
区别1:
数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值
集合只能存储引用数据类型(对象),如果存储基本数据类型时,会自动装箱变成相应的包装类
区别2:
数组长度是固定的,不能自动增长
集合的长度的是可变的,可以根据元素的增加而自动增长
Collection常用方法
boolean add(E e);// 将指定的对象添加到该集合中。
boolean remove(Object o);// 将指定的对象从该集合中移除,如果存在指定的对象返回true,否则返回false
void clear(); // 移除该集合中所有对象,清空该集合
boolean contains(Object o);// 用来查看该集合中是否存在指定的对象,如果存在指定的对象返回true,否则 返回false
boolean isEmpty();// 用来查看该集合是否为空。
int size(); // 用来获取该集合中存放的对象个数。
网友评论