类集框架简介 | 带你学《Java语言高级特性》之九十九

简介: 本节介绍了类集开发框架,在整个类集框架中,提供了如下几个核心接口:Collection、List、Set、Map、Iterator、Enumeration、Queue、ListIterator。以及Collection集合接口中的一些方法。

上一篇:整合工厂设计模式与Annotation | 带你学《Java语言高级特性》之九十八
【本节目标】
本节介绍了类集开发框架,在整个类集框架中,提供了如下几个核心接口:Collection、List、Set、Map、Iterator、Enumeration、Queue、ListIterator。以及Collection集合接口中的一些方法。

类集框架简介

从JDK1.2开始,Java中引入了类集开发框架,所谓的类集指的是一套动态对象数组的实现方案,在实际开发中,没有任何一项开发可以离开数组,但是传统的数组实现起来非常的繁琐,而且长度是其致命伤,正是因为长度问题,所以传统的数组是不可能大范围使用的,但是开发又离不开数组,所以最初就只能依靠一些数据结构来实现动态的数组处理,而其中最为重要的两个结构:链表、树。但是面对这些数据结构的实现,又不得不面对如下的一些问题:

  • 数据结构的代码实现困难,对于一般的开发者是无法进行使用的;
  • 对于链表或二叉树当进行更新处理的时候,维护是非常麻烦的;
  • 对于链表或二叉树还需要尽可能保证其操作的性能;

正是因为这样的原因,所以从JDK1.2开始Java引入了类集,主要就是对常见的数据结构进行完整的实现包装,并提供了一系列的接口与实现子类,来帮助用户减少数据结构所带来的开发困难。但是最初的类集实现由Java本身的技术所限,所以对于数据的控制并不严格,全部采用了Object类型进行数据接收,而在JDK1.5后由于泛型将技术的推广,所以类集本身也得到了良好的改进,可以直接利用泛型来保存相同类型的数据,并且随着数据量的不断增加,从JDK1.8开始类集的实现算法也得到了良好的性能提升。

在整个类集框架中,提供了如下几个核心接口:Collection、List、Set、Map、Iterator、Enumeration、Queue、ListIterator。

Collection集合接口

java.util.Collection是单值集合操作的最大的父接口,在该接口中定义有所有的单值数据的处理操作,这个接口中定义了如下的核心操作方法:

No. 方法名称 类型 描述
01 public boolean add​(E e) 普通 向集合保存数据
02 public boolean addAll​(Collection<? extends E> c) 普通 追加一组数据
03 public void clear() 普通 清空集合,让根节点为空,同时执行GC处理
04 public boolean contains​(Object o) 普通 查询数据是否存在,需要equals()方法支持
05 public boolean remove​(Object o) 普通 数据删除,需要equals()方法支持
06 public int size() 普通 获取数据长度,最大值为Integer.MAX_VALUE
07 public Object[] toArray() 普通 将集合变为对象数组返回
08 public Iterator<E> iterator() 普通 将集合变为Iterator接口返回

在进行集合操作时,有两个方法最为常用:【增加】add()、【输出】iterator()。

在JDK1.5版本之前,Collection只是一个独立的接口,但是从JDK1.5后,提供了Iterable父接口,并且在JDK1.8后针对于Iterable接口也得到了一些扩充。另外,在JDK1.2~JDK1.4的时代里面,如果要进行集合的使用往往会直接操作Collection接口,但是从JDK1.5时代开始更多的情况下选择的都是Collection的两个子接口:允许重复的List子接口、不允许重复的Set子接口;

image.png
Collection接口

想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学

下一篇:List接口 | 带你学《Java语言高级特性》之一百
更多Java面向对象编程文章查看此处

相关文章
|
18小时前
|
安全 Oracle 小程序
01|Java简介与历史
01|Java简介与历史
5 0
|
20小时前
|
Java
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
|
1天前
|
Java 编译器 开发者
Java一分钟之-继承:复用与扩展类的特性
【5月更文挑战第9天】本文探讨了Java中的继承机制,通过实例展示了如何使用`extends`创建子类继承父类的属性和方法。文章列举了常见问题和易错点,如构造器调用、方法覆盖、访问权限和类型转换,并提供了解决方案。建议深入理解继承原理,谨慎设计类结构,利用抽象类和接口以提高代码复用和扩展性。正确应用继承能构建更清晰、灵活的代码结构,提升面向对象设计能力。
7 0
|
1天前
|
Java
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
【Java多线程】面试常考 —— JUC(java.util.concurrent) 的常见类
10 0
|
1天前
|
Java API 调度
【Java多线程】Thread类的基本用法
【Java多线程】Thread类的基本用法
5 0
|
2天前
|
SQL Java 数据库连接
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
JDBC Java标准库提供的一些api(类+方法) 统一各种数据库提供的api
8 0
|
2天前
|
前端开发 安全 Java
使用Spring框架加速Java开发
使用Spring框架加速Java开发
5 0
|
2天前
|
存储 安全 Java
深入理解Java集合框架
深入理解Java集合框架
8 0
|
2天前
|
Java
Java一分钟之-类与对象:面向对象编程入门
【5月更文挑战第8天】本文为Java面向对象编程的入门指南,介绍了类与对象的基础概念、常见问题及规避策略。文章通过代码示例展示了如何定义类,包括访问修饰符的适当使用、构造器的设计以及方法的封装。同时,讨论了对象创建与使用时可能遇到的内存泄漏、空指针异常和数据不一致等问题,并提供了相应的解决建议。学习OOP需注重理论与实践相结合,不断编写和优化代码。
25 1
|
4天前
|
传感器 人工智能 前端开发
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
智慧校园电子班牌,坐落于班级的门口,适合于各类型学校的场景应用,班级学校日常内容更新可由班级自行管理,也可由学校统一管理。让我们一起看看,电子班牌有哪些功能呢?
45 4
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式