【数据结构】Iterable、Collection、List 的常见方法签名以及含义

Iterable、Collection、List都是接口,三者关系
【数据结构】Iterable、Collection、List 的常见方法签名以及含义_第1张图片 1. Iterable
Iterable是一种设计模式,开发人员无需了解序列的底层结构就可以遍历该序列。在Java中,Iterable的功能比较简单,只能单向移动。直接实现Iterable接口的数据类型都可以使用迭代器遍历查找。Iterable接口含有3个重要的方法:hasNext()、next()、和remove()方法。首先使用hasNext()判断迭代器是否有后续对象,如果有,用next()方法接收,同时还可以用remove()方法删除该元素。

同时,增强型for循环可以循环实现Iterable接口的数据类型,这种循环只能做简单的遍历工作,无法想Iterable对象那样删除数据等。
2. Collection
在所有的Java集合框架中,Collection是其顶层的接口。集合中有丰富的抽象数据类型,这些数据类型也封装了对应的算法以实现数据低耗高效的特点。Collection是Java的集合操作类的基本接口,该接口用于表示任何元素或对象组,支持添加、删除和迭代等功能。Collcetion的通用方法如下:

boolean add(Object element) 添加一个元素到集合中
boolean add(Collection from) 将from集合中的所有元素添加到集合中
void clear() 清空集合
boolean contains(Object obj) 判断集合中是否含有该元素
boolean containsAll(Collection c) 判断集合中是否包含了集合c中所有的元素
boolean equals(Object obj) 判断集合是否相等
bollean isEmpty() 判断集合是否为空
Iterable iterator() 返回了一个实现Iterable接口的对象
boolean remove(Object element) 删除集合中的该元素
boolean removeAll(Collection c) 删除集合中所有与c集合中相同的元素
boolean retainAll(Collection c) 删除集合中不在c中的元素
int size() 返回集合中元素的数目
3.List
List接口有两个实现类,ArrayList和LinkedList。ArrayList是用数组实现的List,能进行快速的随机访问,但是随机插入和删除操作比较慢。LinkedList对顺序访问进行了优化,在插入和删除元素的操作上代价也不高,但是随机访问的速度相比就会很慢。
ArrayList(顺序表)
顺序表的特点是用元素在计算机内物理位置的相邻来表示线性表中数据元素之间的逻辑关系,这种模式使得顺序表的随机读取速度非常快。顺序表的常用方法:ListsubList=subList(beginIndex,endIndex) 获取顺序表的子表
LinkedList(链表)
链表可以存在于计算机的互不相邻的物理内存中,但是根据每个元素的前驱地址就可以找到上一个元素或者根据后继地址找到下一个元素。链表分为单向链表和双向链表,单向链表只能从链表的第一个元素依次向下查找,双向链表可以从任意位置向前或向后查找。链表的常用方法如下。

void addFirst(E e) 将给定的元素放到链表的最前面
void addLast(E e) 将给定的元素放到链表的最后面
E element() 获取链表的第一个元素
E get(int index) 获取指定位置的元素
E getFirst() 获取第一个元素
E gerLast() 获取最后一个元素
int indexOf(Object obj) 获取obj在链表中第一次出现的位置,-1表示未找到
int lastIndex(Object obj) 获取obj在链表中最后一次出现的位置,-1表示未找到
ListIteratorlistIterator(int index) 获取从index开始的迭代器
boolean offer(E e) 将元素e加入链表的尾部
E peek() 获取第一个元素
E poll() 获取并删除第一个元素
E remove() 获取并删除第一个元素
E remove(int index) 获取并删除指定位置的元素
E removeFirst() 获取并删除第一个元素
E removeLast() 获取并删除最后一个元素
E set(int index,Element e) 将指定位置的值用e代替
Object[] toArray() 将所有元素组织成一个数组

摘自:https://blog.csdn.net/m0_63036262/article/details/123969357

你可能感兴趣的:(【数据结构】Iterable、Collection、List 的常见方法签名以及含义)