Java中Iterable、Collection、List总结

理解这个图基本就解决了

Iterable

这个东西就必须提到一下“Iterator”(迭代器,增强for循环)这个接口

  1. Java设计者让Collection继承于Iterable而不是Iterator接口。首先要明确的是,Iterable的子类Collection,Collection的子类List,Set等,这些是数据结构或者说放数据的地方。Iterator是定义了迭代逻辑的对象,让迭代逻辑和数据结构分离开来,这样的好处是可以在一种数据结构上实现多种迭代逻辑。

  2. 更重要的一点是:每一次调用Iterable的Iterator()方法,都会返回一个从头开始的Iterator对象,各个Iterator对象之间不会相互干扰,这样保证了可以同时对一个数据结构进行多个遍历。这是因为每个循环都是用了独立的迭代器Iterator对象。

在这里插入图片描述
在这里插入图片描述

Collection

在这里插入图片描述
在这里插入图片描述

方法签名说明
boolean add(E e)将元素 e 放入集合中
void clear()删除集合中的所有元素
boolean isEmpty()判断集合是否没有任何元素,俗称空集合
boolean remove(Object e)如果元素 e 出现在集合中,删除其中一个
int size()返回集合中的元素个数
Object[] toArray()返回一个装有所有集合中元素的数组
列表队列集合双端队列
ListQueueSetDeque

List

方法介绍
boolean add(E e)对应尾插操作
void add(int index,E element)将元素插入到给定位置
boolean remove(Object o)删除第一个遇到的和 o 相等的元素
E remove(int index)将【index】位置的元素从线性结构中取出并返回
boolean addAll(Collection c)将c 容器中的所有元素(按照一定的次序),尾插
void sort(Comparator c)以c 作为元素的比较器,衡量元素大小进行原地排序
E get(int index)返回index 位置的元素
E set(int index,E element)用element 替换 index 位置的元素,并返回 index 位置原来的元素
int indexOf(E e)从前往后,第一个和 e 相等的元素所在位置
int lastIndexOf(E e)从后往前,最后一个和 e 相等的元素所在的位置
List subList(int fromIndex,int toIndex)将原有线性结构的[fromIndex,toIndex)截取

Map

在这里插入图片描述

方法签名说明
V get(Object k)根据指定的 k 查找对应的 v
V getOrDefault(Object k, V defaultValue)根据指定的 k 查找对应的 v,没有找到用默认值代替
V put(K key, V value)将指定的 k-v 放入 Map
boolean containsKey(Object key)判断是否包含 key
boolean containsValue(Object value)判断是否包含 value
Set<Map.Entry<K, V>> entrySet()将所有键值对返回
boolean isEmpty()判断是否为空
int size()返回键值对的数量

版权声明:本文为weixin_45696320原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。