Java学习关于集合框架的基础接口--Collection接口
集合框架(Collection Framework)是Java最强大的子系统之一,位于java.util 包中。集合框架是一个复杂的接口与和类层次,提供了管理对象组的最新技术。Java集合框架标准化了程序处理对象组的方式。
集合框架在设计上需要满足几个目标。首先,框架必须是高性能的。基本集合(动态数组、链表、树以及哈希表)的实现是高效率的。很少需要手动编写这些数据引擎中的某一个。其次,框架必须允许不同类型的集合以类似的方式进行工作,并且具有高度的互操作性。再次,扩展或改造必须易于实现。为了满足这些目标,整个集合框架基于一套标准接口进行构造,提供了这些接口的一些可以直接使用的标准实现(如LinkedList、HashSet和TreeSet)。作为一种选择,也可以实现自己的集合。为了方便,提供各种特定目的的实现。最后,必须添加可以将标准数组集成到集合框架中的机制。
算法是集合机制的另外一个重要组成部分。算法操作集合,并且被定义为Collections类中的静态方法。因此,所有集合都可以使用它们。
与集合框架密切相关的另一个内容是 Iterator 接口。迭代器为访问集合中的元素提供了通用、标准的方式,每次访问一个元素。因为每个集合都提供了迭代器,所以可以通过Iterator定义的方法访问所有集合类的元素。
Collection接口是构建集合框架的基础,因为定义集合的所有类都必须实现该接口,Collection是泛型接口
public interface Collection<E> extends Iterable<E>其中,E指定了集合中存储的对象类型。Collection接口扩展了 Iterator 接口。
方法 | 说明 |
---|---|
boolean add(E e)
|
确保此集合包含指定的元素(可选操作)。
|
boolean addAll(Collection<? extends E> c)
|
将指定集合中的所有元素添加到此集合(可选操作)。
|
void clear()
|
从此集合中删除所有元素(可选操作)。
|
boolean contains(Object o)
|
如果此集合包含指定的元素,则返回 true 。
|
boolean containsAll(Collection<?> c)
|
如果此集合包含指定 集合中的所有元素,则返回true。
|
boolean equals(Object o)
|
将指定的对象与此集合进行比较以获得相等性。
|
int hashCode()
|
返回此集合的哈希码值。
|
boolean isEmpty()
|
如果此集合不包含元素,则返回 true 。
|
boolean remove(Object o)
|
从该集合中删除指定元素的单个实例(如果存在)(可选操作)。移除返回true
|
boolean removeAll(Collection<?> c)
|
删除指定集合中包含的所有此集合的元素(可选操作)。
|
default boolean removeIf(Predicate<? super E> filter)
|
删除满足给定谓词的此集合的所有元素。
|
boolean retainAll(Collection<?> c)
|
仅保留此集合中包含在指定集合中的元素(可选操作)。
|
int size()
|
返回此集合中的元素数。
|
Object[] toArray()
|
返回一个包含此集合中所有元素的数组。
|
<T> T[] toArray(T[] a)
|
返回包含此集合中所有元素的数组; 返回的数组的运行时类型是指定数组的运行时类型。
|
方法详细信息
toArray
Object[] toArray()
clear
void clear()
从此集合中删除所有元素(可选操作)。 此方法返回后,集合将为空。异常 UnsupportedOperationException
- 如果此 集合不支持clear操作
add
boolean add(E e)
如果一个集合拒绝添加一个特定的元素,除了它已经包含该元素之外,它必须抛出异常(而不是返回false )。 这保留了一个集合在此调用返回后始终包含指定元素的不变量。
-
参数
e
- 要确保在此集合中的存在的元素结果 true如果此集合由于调用而更改异常 -
UnsupportedOperationException
- 如果此 集合不支持add操作 -
ClassCastException
- 如果指定元素的类阻止将其添加到此集合 -
NullPointerException
- 如果指定的元素为空,并且该集合不允许空元素 -
IllegalArgumentException
- 如果元素的某些属性阻止其添加到此集合 -
IllegalStateException
- 如果由于插入限制,此时无法添加该元素
转载于:https://www.cnblogs.com/sdlzspl/p/7236877.html
Java学习关于集合框架的基础接口--Collection接口相关推荐
- Java学习---day14_集合框架03
Java学习-day14_集合框架03 Set集合 Set集合中,没有下标的概念 Set集合,是一个去重复的集合.在Set集合中不会添加重复的元素的 在向一个Set集合中添加元素的时候,会先判断这个元 ...
- 【java学习】集合框架
1,常用map AbstractMap 的成员变量:transient, volatile修饰 transient volatile Set<K> keySet;//keySet, 保存 ...
- 黑马程序员java学习日记——集合框架
------- android培训.java培训.期待与您交流! ---------- Java.util包中提供了一些集合类,这些集合类又被称为容器.集合类与数组的不同之处是,数组长度是固定的,集合 ...
- java学习日记 集合框架
集合框架 有两大接口 一个是 Collection (类集 )与Map (映射): collection 下有两大接口 一个是List (列表) 另一个是Set(集合) List (列表):Arr ...
- Java高级特性 集合框架、泛型和Collection(一)(第二十三天)
集合的使用: 如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象--可以使用Java集合框架 java集合框架: 在java中数据结构是以某种形式将数据组织在一起的集合.他们不仅存储数据 ...
- java学习笔记20(Arraylist复习,Collection接口方法,迭代器,增强型for循环)
集合:集合是Java提供的一种容器,可以用来存储多个数据: 集合与数组的区别:集合的长度是可变的,数组的长度是固定的 集合中存储的数据必须是引用类型数据: ArrayList回顾: public cl ...
- 第48节:Java当中的集合框架
Java当中的集合框架 01 在我们班里有50位同学,就有50位对象. // 简书作者:达叔小生 Student[] stus = new Student[20]; 结果来了一位插班生,该同学因为觉得 ...
- 【JAVA学习】1、零基础入门Java 基础语法:概念、规则、格式
[JAVA学习]1.零基础入门Java 基础语法 前言 JAVA开发环境选择 Java 基础概念 Java 标识符 Java修饰符 基础代码模板框架 命名规则 基础规则 后端开发规则 代码格式 前言 ...
- Java的并发集合框架
文章目录 一.并发集合框架 1. 简介 2. 接口Iterable 2. 接口Collection 3. 接口List 4. 接口Set 5. 接口Queue 6. Deque 二.非阻塞队列 1. ...
最新文章
- firebase 发生消息_如何在命令行提示符下显示当前的Firebase项目名称,以防止发生危险错误...
- 继AutoML后,第四范式发布软硬一体化AI集成系统SageOne
- 基于SharePoint大型企业协同门户产品-永久免费
- python向mysql中添加数据_Django save()方法不向Mysql数据库插入数据
- 图像滤波之高斯滤波介绍
- 大话TreeMap的put,get过程
- Keras TensorFlow 混编中 trainable=False设置无效
- Spring学习总结(22)——Spring-framework-bom解决spring的不同模块依赖版本不同问题
- 随想录(ros学习笔记)
- cad结构字体_AutoCAD字体选择:如何快速选中gbcbig.shx通用字体
- M480 EMAC驱动01-EMAC底层接口
- 一尺、一英尺、一寸和一英寸分别等于多少厘米?
- 改了dns服务器有没有影响,dns改成114有危险吗_dns改了有什么影响
- 0.96寸OLED(SSD1306)屏幕显示(一)——基础功能介绍
- 关于汇编跳转指令的说明
- Android Studio 配置翻译工具
- 在了解VR的途中看到文章
- 【OCR技术系列之一】字符识别技术总览
- 老照片修复_使用条款
- fcn_101代码理解
热门文章
- OpenGL(三)——OpenGL着色器基础
- 台达伺服驱动器说明书_干货:伺服调机实例讲解
- html svg画图
- ieee802.11数据radiotap介绍
- Day9 深度学习入门
- java如何记住登录状态_Spring security实现记住我下次自动登录功能过程详解
- 【es】es 编译 jar hell!
- 【Spring】Spring lazy-init:bean延迟初始化
- spark学习-57-Spark下Scala版HBase下的根据权重获取最真实数据
- Linux : rz、sz命令-从本地拷贝文件到服务器