集合存储的类型:
集合可以存储引用数据类型,不可以存储基本数据类型。若要存储基本数据类型,实际是存储基本数据类型的包装类;
结构:
集合类体系结构
-
单列 collection(接口):
-
可重复 List(接口):
-
ArrayList(实现类)
-
LinkdeList(实现类)
-
-
不可重复 Set(接口):
-
HashSet(实现类)
-
TreeSet(实现类)
-
-
-
双列 Map(接口):
-
HashMap(实现类)
-
TreeMap(实现类)
-
collection(接口)中的方法
——>创建对象:接口对象指向实现类的实例
成员方法:
-
boolean add(E e) 添加元素
-
boolean remove(object o) 从集合中移除指定的元素
-
boolean removeif(object o) 根据条件进行删除
-
void clear() 清空集合
-
boolean contains(object o) 判断集合中是否存在指定的元素
-
boolean isEmpty() 判断集合是否为空
-
int size() 集合的长度,也就是集合中元素的个数
迭代器:i terator(集合的专用遍历方式)
-
获取迭代器对象:
iterator<E> iterator():放回集合中的迭代器对象,该迭代器默认指向当前集合的0索引;
-
方法:
-
Boolean hasNext(): 判断当前位置是否有元素可以被取出
-
E next():取出 当前位置的元素,将迭代器对象向下一个索引位置;
-
default void remove():从底层集合中删除此迭代器返回的最后一个元素;
-
增强for循环:
增强for:简化数组和collection集合的遍历:
-
原理是一个Iterator迭代器
-
只有实现iterable接口的类才可以使用迭代器和增强for(所有的单列集合都可以使用增强for)
增强for的格式
-
格式:
for(元素数据类型 变量名:数组或者Collection集合){
//在此处使用变量即可,该变量就是元素
}
注意:增强for的使用原理是Iterator;所以在for循环中修改变量的值不会影响到数组或集合,只会影响到第三方变量(iterator中获取到的数据);
<