第一章 collection集合
1.1集合概述
###学习使用过ArrayList<E>
,????
-
集合是一种容器,可以存储多个数据。
-
数组长度固定,集合长度可变。
-
数组中存储同一类型元素,可以存储基本类型数据元素;集合存储的都是对象,而且存储的对象类型可以不一致。
collection
是所有单列集合的父接口;object
是所有类的父类
1.2集合框架
学习集合目标
- 会利用结合存储数据
- 会遍历集合,把集合中数据取出来
- 掌握每种集合的特性
collection接口:定义的是所有单列集合的共性方法
所有的单列集合都可以使用共性的方法
没有带索引的方法
List接口:1.有序。存取顺序相同。 set接口:1.不允许存储重复元素。
2.允许存取重复元素。 2.没有索引。不能使用for循环遍历
3.有索引。可以使用普通for循环遍历。
Vector集合 ArrayList集合 LinkedList集合 TreeSet集合 <-无序集合-> HashSet集合
有序集合-> LinkedHashSet集合
1.学习顶层。学习顶层中接口抽象类的共性方法,所有子类都可以使用。
2.使用底层。底层不是接口就是抽象类,无法创建对象使用,需要使用底层的子类创建对象来使用。
1.3colllection常用功能
collection
是所有单列集合的父接口,因此在collection中定义了单列集合通用的一些方法,这些方法可用于操作左右的单列集合。
public boolean add(E e)
:将给定对象添加到结合中。 //一般不用接收
public void clear()
:将集合清空。
public void remove()
:把给定的集合在当前集合中删除。
public boolean contains(E e)
:判断当前集合中是否包含给定对象。
public boolean isEmpty()
:判断当前集合是否为空。
public int size()
:返回集合中元素的个数。
public object[] toArray()
:把集合中的元素,存储到数组中。
创建集合对象,可以使用多态(父类引用指向子类对象):
Collection coll = new ArrayList<>(); //重写了toString方法
coll.add();
第二章 Iterator迭代器
-
Iterator接口
collection集合元素的通用获取方式。再去元素之前先判断集合中是否含有元素,如果有,取出;一直全部取出结束。
两个常用方法:
boolean hasnext()
; // 判断有没有元素,如果有就返回true,没有就返回false
E next()
; //返回集合中的下一个元素- Iterator是一个接口,无法直接使用;需要使用Itearator接口的实现类对象,获取实现类的方式比较特殊。collection接口中有一个方法叫Iterator,这个方法返回的式迭代器的实现类对象。
- 迭代器的使用步骤【重点】:
-
- 使用集合中的方法iterator(),获取迭代器的实现类对象,使用Iterator接口接收(多态)。
- 使用Iterator接口中的方法hashNext判断还有没有下一个元素。
- 使用Iterator接口中的方法next()取出集合中的下一个元素。
Collection<Object> coll = new ArrayList<>(); Iterator<Object> it = coll.iterator(); if ( it.hashNext() ) System.out.println( it.next() );
-
迭代器实现原理
增强for
-
底层使用迭代器;使用for循环简化书写。
-
所有的单列集合都可以使用
增强for
for (String i:list){}
练习1:遍历数组
练习2:遍历集合
第三章 泛型
3.1泛型
泛型:
generic
一种未知的数据类型;当不知道使用什么数据类型时,使用泛型。
也可以看成是一个变量,用来接收数据类型。
E e: Elment元素
T t: Type类型
创建对象的时候会确定数据类型;
会把数据类型作为参数传