动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

Collection接口

06-01 17:25 850浏览
举报 T字号
  • 大字
  • 中字
  • 小字

我们先来看一下Collection接口的官方定义:

The root interface in the collection hierarchy. A collection represents a group of objects, known as its elements. Some collections allow duplicate elements and others do not. Some are ordered and others unordered. The JDK does not provide any direct implementations of this interface: it provides implementations of more specific subinterfaces like Set and List. 

大概的意思就是:Collection接口是集合层级结构的根接口。一个集合代表了一组对象,这组对象被称为集合的元素。一些集合允许重复的元素而其他不允许;一些是有序的而一些是无序的。Java类库中并未提供任何对这个接口的直接实现,而是提供了对于它的更具体的子接口的实现(比如Set接口和List接口)。

 我们知道,接口是一组对需求的描述,那么让我们看看Collection接口提出了哪些需求。Collection接口中定义了以下方法:

boolean    add(E e) //向集合中添加一个元素,若添加元素后集合发生了变化就返回true,若没有发生变化,就返回false。(optional operation).
boolean    addAll(Collection<? extends E> c) //添加给定集合c中的所有元素到该集合中(optional operation).
void    clear()  //(optional operation).
boolean    contains(Object o) //判断该集合中是否包含指定对象
boolean    containsAll(Collection<?> c)
boolean    equals(Object o)
int    hashCode()
boolean    isEmpty()
Iterator<E>    iterator()
boolean    remove(Object o) //移除给定对象的一个实例(有的具体集合类型允许重复元素) (optional operation).
boolean    removeAll(Collection<?> c) //(optional operation).
boolean    retainAll(Collection<?> c)   //仅保留给定集合c中的元素(optional operation).
int    size()
Object[]    toArray()
<T> T[]    toArray(T[] a)

     我们注意到有些方法后面注释中标注了“optional operation”,意思是Collection接口的实现类究竟需不需要实现这个方法视具体情况而定。比如有些具体的集合类型不允许向其中添加对象那么就可以不实现add方法。

    我们来说一下后两个方法,它们的功能都是都是返回这个集合的对象数组。第二个方法接收一个arrayToFill参数,当这个参数数组足够大时,就把集合中的元素都填入这个数组(多余空间填null);当arrayToFill不够大时,就会创建一个大小与集合相同,类型与arrayToFill相同的数组,并填入集合元素。

    Collection接口的直接子接口主要有三个:List接口、Set接口和Queue接口。在动力节点在线的免费视频课程中都分别有专业的老师进行讲解。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵124
程序员代码小兵124

99篇文章贡献336699字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

Java面试题及答案整理

提枪策马乘胜追击04-21 20:01

Spring常见面试题

代码小兵92504-17 16:07

Java零基础实战项目——五子棋

代码小兵98804-25 13:57

Java string类详解

杨晶珍05-11 14:54

6道经典算法面试题

杨晶珍05-12 16:39

发评论

举报

0/150

取消