Collection接口【集合】和Iterator迭代器类
前面基础学习并使用过集合ArrayList<E>,那么集合究竟是什么呢?
-
集合:集合是Java中提供的一种容器,可以用来存储多个数据。
那么意思就是说集合是容器,但是容器不全都是集合,数组也是一种容器,容器>集合
-
集合和数组既然都是容器,它们有什么区别? 数组的长度是固定的。集合的长度是可变的。
-
数组中存储的是同一类型的元素,可以存储基本数据类型值,也可以储存对象
但是,集合只能存储对象。
int[] arr = new int[10];//数组中可以存放基本数据 Student[] arr = new Student;//数组中也可以存放对象 ArrayList<Student> stus = new ArrayList<>();//集合只能存储对象
1.2集合的架构

集合的学习目标:
-
1、会使用集合存储数据
-
2、会遍历集合,把数据取出
-
3、掌握每一种集合的特性
集合的学习方式:
-
学习顶层【父类】的接口或抽象类中的共性方法,所有的子类都可以使用;
-
使用底层:顶层【父类】不是接口就是抽象类,无法创建对象使用,就需要使用底层【子类】创建对象使用
-
TreeSet和HashSet类是无序的集合【存储和取出的元素,顺序有可能不一致】,LinkHashSet类是有序的集合。
集合的两种遍历方式
1、迭代器
A、通过集合对象获取迭代器对象
B、使用循环遍历迭代器
C、判断迭代器对象是否还有对象
D、有元素,则获取。
1 public static void main(String[] args) { 2 Collection<String> coll = new ArrayList<>(); 3 coll.add("hello"); 4 coll.add("world"); 5 coll.add("Java"); 6 7 //使用集合对象获取迭代器,变量对象 8 Iterator<String> it = coll.iterator(); 9 while (it.hasNext()){ 10 String next = it.next(); 11 System.out.println(next); 12 } 13 } 14 }
2、迭代器的实现原理:

3、增强for循环
增强for循环(也称for each循环)是 JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。 它的内部原理其实是个Iterator迭代器.
语法格式:
容器:集合,数组
for(容器对象的数据类型 变量名 : 容器对象){
//循环体语句:sout(变量名)
}
注意


浙公网安备 33010602011771号