Java中的Collection接口

前言

上世纪七十年代,面向对象编程的思想提出,simula 67语言横空出世——这得益于计算机算力的进步,计算机作用得以体现,计算机不再是小领域研究和高端知识分子独有的宝物,在新的应用前景下,传统的编程模式体现出庞大的重复劳动,且难以被一般知识水平的人掌握和使用的缺点,这时,面向对象编程应运而生了。并在后面六十年的发展中,逐渐产生了今天的Java,C++,Python等一系列应用广泛的语言。
对于初步接触Java的人来说,印象最深的便是它使用方便的数据结构,以致用惯了Java后,在回到C等语言,会感到强烈的不适感,当然,学习数据结构,不能只知其然而不知其所以然,我们今天就来看看Java面向对象思想的点睛之笔——“Collection”。

什么是Collection?

只要你使用过Java编程,相信你一定对List,Set,Queue等数据结构并不陌生。实际上,这些数据结构都实现了一个共同的接口,就是“Collection”。
这个定义在JDK中的接口,规范了一组数据集合(不具有数据结构时)应该具有的保障和实现的功能。

Collection有哪些规定。

我们来看看oracle的官方文档(单击可放大)。
collection的官方文档
简单说,该接口规定了包含元素的集合的类(即collection的字面意思)应共同实现的的功能:
如contains(A),它的作用是检查Collection中是否包含元素A,
又如add(A),作用为在集合中添加元素A,
另外还有isEmpty(),remove()等经常使用的方法,都是在collection中定义的。
虽然数据类型复杂,正如官方文档中所说,collection对于集合中有序性(如TreeSet)和无序性(如HashSet),可重复性(如ArrayList)和不可重复性(如HashList)没有要求,甚至对集合内元素的具体结合方式均没有要求,因此collection不对元素间的关系作出假设和要求。

值得一提的是,collection使用泛型,实现时要使用尖括号声明泛型的类型。

Collection定义了哪些方法。

  • add

在这里插入图片描述
参数:泛型元素e.
返回值:如果成功添加则返回true,否则返回false。
抛出的异常类:
UnsupportedOperationException - 元素集合不支持加入操作
ClassCastException - 加入集合的元素类不相容
NullPointerException - 将加入的元素为空指针
IllegalArgumentException - 元素的某(非法)属性阻止其加入集合
IllegalStateException - 集合当前处于无法加入元素的状态

  • remove
    在这里插入图片描述
    参数:对象o
    返回值:如果成功删除则返回true,否则返回false。
    抛出的异常类:
    UnsupportedOperationException - 元素集合不支持删除操作()
    ClassCastException - 将删除的元素与集合的元素类不相容(可选)
    NullPointerException - 将删除的参数为空指针
  • contains
    在这里插入图片描述
    参数:对象o
    返回值:如果包含则返回true,否则返回false。
    抛出的异常类:
    ClassCastException - 将检查的元素与集合的元素类不相容(可选)
    NullPointerException - 将检查的参数为空指针(可选)
    笔者选择其中最常见的三个作为例子,更多的方法要求可以在官方文档中查看。

总结

Java的库文件为我们提供了很多方便,但实际上,在很多实际应用中,由于性能等原因,库文件的方法往往不是最优的,我们可以在库中接口的约束下进行开发,可以大大增强我们的代码的鲁棒性和正确性,也可以缩短我们的开发周期,因此,除了掌握库方法,还应对接口也有一定的概念。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值