当前位置: 首页 > 编程日记 > 正文

【Java集合】了解集合的框架体系结构及常用实现类,从入门到精通!

前言

通过Java基础的学习,我们掌握了主要的Java语言基本的语法,同时了解学习了Java语言的核心-面向对象编程思想。

从集合框架开始,也就是进入了java这些基础知识及面向对象思想进入实际应用编码的过程,通过jdk中集合这部分代码的阅读学习,就能发现这一点。

本计划在这篇中把框架体系和一些集合的常用方法一起编写。仔细考虑之后,本着不让突出重点,结构清晰的思路,所以把框架体系单独拉出来,为让各位看官对java的集合框架有个清晰的认识,最起码记住常用的几种常用实现类!

好的,我们进入正题。

集合的框架体系结构

可以在很多书籍或者教程中看到,JAVAEE进阶知识的学习,JDK中提供了满足各种需求的API,主要是让我们去学习和了解它提供的各种API,在使用这些API之前,我们往往需要先了解其继承与接口架构,才能了解何时采用哪个实现类,以及类之间如何彼此合作,从而达到灵活应用。

查看api文档,集合按照存储结构可以分为两大类,

  • 单列集合 java.util.Collection
  • 双列集合 java.util.Map

通过jdk api 来看在 JDK中 提供了丰富的集合类库,为了便于初学者进行系统地学习,我们通过结构图来分别描述集合类的继承体系。

Collection

Description

Collection: 单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口

  • java.util.List List的特点是 元素有序,元素可重复。
  • java.util.Set Set的特点是 元素无序(不全是),而且不可重复

List 接口主要的实现类有 java.util.ArrayList 和 java.util.LinkedList,Set 接口的主要实现类有 java.util.HashSet 和 java.util.TreeSet。

Map

Description

Map: 双列集合,用于存储具有映射关系的对象。常用的实现类有

  • java.util.HashMap
  • java.util.LinkedHashMap

** 图片中 小标中有 I的都是接口类型,而 C 的都是具体的实现类。**

好的,框架的介绍就到这里了。本文中主要介绍了框架的两大类,以及我们在开发工作中使用的几种常见的接口和实现类,在后面的文章中,一一介绍吧。HAPPY END!!!

相关文章:

MySQL中的 增 删 查 改(CRUD)

文章浏览阅读1.8k次,点赞60次,收藏56次。insert into 表名 value(数据,数据),.......;可以单行,多行插入。​为查询结果的列取别名select 表达式/列名as 别名 from 表名;去重:DISTINCTselect distinct 单列/多列 from 表名;会去除查询结果中的重复项(只保留一项)select 条件查询的执行顺序遍历表中的每个记录把当前记录的值带入条件,根据条件进行筛选如果这条记录满足条件,保留并进行列上的表达式的计算如果有 order by 会在所有行都被获取到之后(表​

BETWEEN操作符:选取介于两个值之间的数据范围内的值

文章浏览阅读246次,点赞6次,收藏5次。BETWEEN操作符:选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。

【Java 基础篇】Java网络编程:文件下载详解

文件下载是指从一个网络服务器或远程位置传输文件到本地计算机或设备的过程。这些文件可以是文本文件、图像、音频、视频或任何其他类型的数据文件。文件下载在Web浏览器、移动应用程序和桌面应用程序中都是常见的操作。在Java中,您可以使用各种网络协议(如HTTP、FTP、SFTP等)来执行文件下载操作。下面我们将以HTTP协议为例,介绍如何使用Java进行文件下载。本文介绍了如何使用Java进行文件下载,以及文件下载的一些进阶功能和注意事项。

【Java 基础篇】Java网络编程:下载进度监控实现详解

下载进度监控是一种用户界面元素或功能,用于显示文件下载的实时进度。通常以百分比的形式显示已下载的数据量与总数据量的比例,让用户知道下载的进展情况。实现下载进度监控的关键是获取已下载数据的大小并将其与总数据大小进行比较,然后将结果以可视化的方式呈现给用户。下载进度监控是提高文件下载体验的重要组成部分。通过合理设置Range头部请求,并在用户界面上显示下载进度,您可以实现有效的下载进度监控功能。此外,要注意异常处理和性能,以提供更好的用户体验。

【Java 基础篇】Java Lambda表达式详解

Lambda表达式,也称为闭包,是一种匿名函数,它可以传递到方法作为参数,并且可以在方法中使用。它是Java 8引入的一个新特性,用于简化代码的编写,特别是在使用函数式接口时。匿名性:Lambda表达式没有显式的名称,因此可以被当做一种匿名函数使用。简洁性:Lambda表达式可以大大减少代码的冗余,使代码更加简洁。传递性:Lambda表达式可以作为参数传递给方法,从而实现更灵活的代码组织。除了Java标准库中的函数式接口,您还可以定义自己的函数式接口,以适应特定的需求。// 结果为8。

【Java 基础篇】Java 接口组成与更新详解

在Java编程中,接口(interface)是一种非常重要的概念。它允许类定义一组抽象方法,这些方法可以在不同的类中实现。接口在Java中起到了重要的角色,被广泛应用于代码的组织和设计中。本文将详细解释Java接口的组成和最新的更新,包括默认方法、静态方法、私有方法以及接口的使用场景。

【MySQL从删库到跑路 | 基础第二篇】——谈谈SQL中的DML语句

详细介绍SQL中的DML语句(增加、修改、删除操作)。

【MySQL基础|第三篇】--- 详谈SQL中的DQL语句

详解MySQL中SQL的基础查询、条件查询、聚合函数、分组查询、排序查询、分页查询。

【MySQL函数篇】—— 字符串函数(超详细)

详细介绍MySQL函数中的字符串函数。

MySQL常用函数集锦 --- 字符串|数值|日期|流程函数总结

主要讲解MySQL中的字符串、日期、数值、流程函数。

详细介绍MySQL中的六种约束

详细介绍MySQL中的六种约束

解码知识图谱:从核心概念到技术实战

本文深入探索了知识图谱的核心概念、发展历程、研究内容以及其在表示、存储、获取、构建和推理方面的技术细节。结合Python和PyTorch示例代码,文章旨在为读者提供一个全面、深入且实用的知识图谱概览,帮助广大技术爱好者和研究者深化对此领域的认识。

NLP技术如何为搜索引擎赋能

在全球化时代,搜索引擎不仅需要为用户提供准确的信息,还需理解多种语言和方言。本文详细探讨了搜索引擎如何通过NLP技术处理多语言和方言,确保为不同地区和文化的用户提供高质量的搜索结果,同时提供了基于PyTorch的实现示例,帮助您更深入地理解背后的技术细节。