目录
框架结构及继承关系
Iterable
以List为例
Collection(集合)
主要方法及签名
List
主要方法及签名
框架结构及继承关系
本文主要讲Iterable,Collection,List这条线上的继承关系。
public class Demo1 {
public static void main1(String[] args) {
// 1. 继承带来的引用指向
Iterable i = new ArrayList<>();
Collection c = new ArrayList<>();
List l = new ArrayList<>();
ArrayList a = new ArrayList<>();
}
}
Iterable
| Iterator | iterator() 返回类型元素的迭代器T。 |
Iterable的子接口及子类都得实现iterator()方法,按照“一定顺序”,访问容器中元素的过程
以List为例
1. 以下标方式进行遍历。有下标说明只适用于线性结构(数组)
for(int i = 0;i2.使用于任何容器的遍历方式(即使没有下标的概念,也可以进行遍历)
1.本次访问某个元素之后,是否还有剩余的元素没有被访问。
2.获取遍历的下一个元素。
Iterator接口的实现类,就是对这两个问题的抽象
public interface Iterator{ boolean hasNext(); E next(); } Collection(集合)
Collection不一定是线性结构的。继承自Iterable接口
主要方法及签名
int size():返回容器中元素的个数;
boolean isEmpty():判断容器是否为空
boolean contains(Object o):容器中是否包含 o 元素(需遍历容器,会用到 equals 方法)
boolean add(E e):把元素 e 放入容器中(由于不一定是线性结构,有可能会失败。例如:当容器中不允许出现重复元素时,插入就会失败)
boolean remove(Object o):将容器中和 o 相等的其中一个元素删除掉(1.相等性,说明使用 equals 判断2.只删除一个3.不保证那一个)
boolean addAll(Collection c) :将 c 中所有元素,都放到当前容器中(元素之间没有顺序)
void clear():清空容器中所有的元素
List
1.元素有序2.有前后关系3.可以排序
主要方法及签名boolean add(E e):继承自Collection,但是在List中是尾插
void add(int index,E element):将元素插入指定位置,如果 index 处有元素了,将[index,size())所有元素后移一位。index的合法范围:[0,size()]
boolean remove(Object o) :明确是删除第一个遇到的 o 元素(用 equals 判断)
E remove(int index):将[index]位置上的元素从线性结构中取出并返回,将(index,size())的所有元素,逻辑上前移一个位置(index合法下标[0,size()))
void sort(Comparator
c):以c作为比较器,衡量与那苏的大小进行原地排序 E get(int index):返回index下标处的元素(index合法下标[0,size()))
E set(int index,E e) :用 e 替换index下标处的元素,返回原index下标的元素(index合法下标[0,size()))
int indexOf(E e):返回从前往后第一个元素 e 的下标
int lastIndexOf(E e):返回从后往前第一个元素 e 的下标
List
subList(int fromIndex,int toIndex):将原有线性结构截取成一个新的线性结构并返回



