首页 > 代码库 > 第十一课 集合类Collection和Map
第十一课 集合类Collection和Map
集合类
面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的方式。
数组和集合类都是容器,他们有什么不同?
数组虽然也可以存储对象,但长度是固定的;集合的长度是可变的,数组中可以存储基本数据类型,集合只能存储对象。
集合类的特点:
集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。
注意:每一个容器的存储方式都有不同,这个存储方式称之为:数据结构
一、Collection
ArrayList list = new ArrayList();
//添加元素
list.add("day01");
list.add("day02");
list.add("day03");
list.add("day04");
//删除元素day01
list.remove("day01");
//清空集合
list.clear();
//判断元素
list.contains("day02");//判断list集合里面是否存在day02;
list.isEmpty();//判断集合是否为空
//获取集合的长度,个数
list.size();
ArrayList list1 = new ArrayList();
list1.add("day02");
list1.add("day03");
list1.add("day04");
list1.add("day05");
list.retainAll(list1);//取两个集合的交集,list里面只保留交集。
//迭代器:
Iterator it = list1.iterator();
syso(it.next());// 返回一个元素,从第一个元素开始返回
while(it.hasNext()){//获取迭代器,取出集合里面的元素
syso(it.next());//循环打印出所有元素 }
什么是迭代器?
其实就是集合的取出元素的方式;我们把取出的方式定义在集合的内部,这样我们取出方式就可以直接访问集合内部的元素。
那么取出方式就被定义成了内部类;而每一个容器的数据结构不同,所以取出的动作细节也不一样,但是都有共性内容判断和取出。
那么刻意将这些共性抽取。(这些内部类都符合规则,该规则是Iterator。通过对外提供的方法:iterator())
Collection中常见的两个接口List 和 Set
List:元素是有序的,元素可以重复,因为该元素有索引。
凡是可以操作角标的方法都是该体系的特有方法。
第十一课 集合类Collection和Map