笛子的Java系列总结——集合Collection提供的接口方法

前言

  1. 在使用Java在Leetcode刷题的过程中难免会用到一些写好的数据结构看,比如双端队列Deque,优先级队列PriorityQueue等,它们都有自己专门的API,比如双端队列的pollFirst(),pollLast()弹出队头队尾元素
  2. 但是它们在Java中都继承于Collection这个接口,Collection中定义的方法它们肯定进行了实现,但是搜索教程时因为大佬们一般只会写出它们的独有API,所以这里对集合类及其子类通用的API方法做个小结
  3. 需要说明的是,因为Collection只是个接口,实现类中的具体方法有所不同,遇到特殊情况使用时需要注意,而且根据下面的详细说明,可以发现有些实现类是禁用了某些方法的,所以最好的方法还是一个类一个类的进行总结

集合类框架体系

在这里插入图片描述
在这里插入图片描述
第二张图中,实现边框的是实现类,比如LinkedList,ArrayList,HashMap,折现边框的是抽象类,如AbstractCollection,AbstractList,AbstractMap等,而点线边框的是接口,比如Collection,iteratior,List,Set,Queue等

Collection接口中定义的API

在这里插入图片描述
同时作为继承于Iterable接口的接口,也定义了可以用于遍历的For each方法

【总结】 集合各种具体实现中经常使用的下述方法在Collection这个顶层接口就已经被定义了!

  • 增:add,addAll
  • 删:remove,removeAll,removeIf
  • 判断是否存在:contains,containsAll
  • 判断是否为空:isEmpty
  • 判断是否相等:equals
  • 清空:clear
  • 获取集合元素数量:size
  • 转化成数组:toArray

API方法的详细信息(某份JDK1.8 机翻API文档中的截图)

int size()

在这里插入图片描述

boolean isEmpty()

在这里插入图片描述

boolean contains(Object o)

在这里插入图片描述

Iterator iterator()

在这里插入图片描述

Object[] toArray()

在这里插入图片描述

T[] toArray(T[] a)

在这里插入图片描述

boolean add(E e)

在这里插入图片描述

boolean remove(Object o)

在这里插入图片描述

boolean containsAll(Collection<?> c)

在这里插入图片描述

boolean addAll(Collection<? extends E> c)

在这里插入图片描述

boolean removeAll(Collection<?> c)

在这里插入图片描述

default boolean removeIf(Predicate<? super E> filter)

在这里插入图片描述

boolean retainAll(Collection<?> c)

在这里插入图片描述

void clear()

在这里插入图片描述

boolean equals(Object o)

在这里插入图片描述

int hashCode()

在这里插入图片描述

spliterator/stream/parrelStream方法暂不进行记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值