初识Java集合框架

简介: 初识Java集合框架

前言

在大多数情况下,你常常会看到《C数据结构》类似的书籍,很多人可能会认为数据结构是一门依赖语言的学科,有了语言才可能有数据结构,其实这里需要纠正的是, 数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。 所以即使没有语言也会有数据,进而会涉及数据的组织,所以它不依赖于任何语言,语言只是作为组织数据、搭建结构的一种工具,可以化抽象为具体,进而帮助我们更好的实现和理解数据结构。

初识集合框架

本系列为《Java数据结构》Java作为一种面向对象的语言,其中内置了大量的集合,各种集合在Java内部组织起来就构成了集合框架。Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces和其实现类 class 。其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索 retrieve 、管理 manipulate ,即平时我们俗称的增删查改 CRUD 。

Java集合框架(类和接口总览)


集合框架很重要

上面这张图罗列了Java中的集合类和接口,也就是Java的集合框架,可能现在看到这张图还是比较困惑的,不过不必担心,初学者感到困惑是很正常的。不过需要注意的是,接下来我们介绍的数据结构都是围绕着Java中的集合框架来进行讲解的,所以我们在学习数据结构的同时会慢慢熟悉整个Java集合框架,并最终达到深入理解,灵活使用的程度。


好了,说了这么多,那么Java集合框架到底和数据结构有什么关系呢?下面先给出一个总结(看不懂没关系,后续文章博主会一一介绍,感兴趣请持续关注哦!):

  1. Collection:是一个接口,包含了大部分容器常用的一些方法
  2. List:是一个接口,规范了ArrayList 和 LinkedList中要实现的方法

(1)ArrayList:实现了List接口,底层为动态类型顺序表

(2)LinkedList:实现了List接口,底层为双向链表

  1. Stack:底层是栈,栈是一种特殊的线性表
  2. Queue:底层是队列,队列是一种特殊的线性表
  3. Deque:是一个接口,实现的是双端队列
  4. Set:集合,是一个接口,里面放置的是K模型
    (1)HashSet:底层为哈希桶
    (2)TreeSet:底层为红黑树
  5. Map:映射,里面存储的是K-V模型的键值对
    (1)HashMap:底层为哈希桶
    (2)TreeMap:底层为红黑树

上面的关系就就很好的展现了Java中集合对应数据结构的关系,诸如ArrayList对应数据结构——顺序表、LinkedList对应数据结构——双向链表。所以借此也解答了我们学习数据结构和Java集合框架的必要性、重要性:

  1. 学习数据结构,即学习背后的数据结构知识,有助于我们理解各个集合的优缺点及使用场景。
  2. Java作为面向对象的语言,提供了现成的集合框架,使用成熟的集合框架,有助于我们便捷、快速的写出高效、稳定的代码。

总结

这期内容很少,主要就是简单认识一下Java集合框架,从下期开始,我们就正式步入Java数据结构的学习啦,下期见!


相关文章
|
14天前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
4天前
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
369 5
|
3天前
|
算法 Java
Java项目不使用框架如何实现限流?
Java项目不使用框架如何实现限流?
15 2
|
3天前
|
存储 安全 Java
Java 常用集合分类
Java 常用集合分类
13 2
|
8天前
|
Kubernetes Java Android开发
用 Quarkus 框架优化 Java 微服务架构的设计与实现
Quarkus 是专为 GraalVM 和 OpenJDK HotSpot 设计的 Kubernetes Native Java 框架,提供快速启动、低内存占用及高效开发体验,显著优化了 Java 在微服务架构中的表现。它采用提前编译和懒加载技术实现毫秒级启动,通过优化类加载机制降低内存消耗,并支持多种技术和框架集成,如 Kubernetes、Docker 及 Eclipse MicroProfile,助力开发者轻松构建强大微服务应用。例如,在电商场景中,可利用 Quarkus 快速搭建商品管理和订单管理等微服务,提升系统响应速度与稳定性。
28 5
|
9天前
|
机器学习/深度学习 数据采集 JavaScript
ADR智能监测系统源码,系统采用Java开发,基于SpringBoot框架,前端使用Vue,可自动预警药品不良反应
ADR药品不良反应监测系统是一款智能化工具,用于监测和分析药品不良反应。该系统通过收集和分析病历、处方及实验室数据,快速识别潜在不良反应,提升用药安全性。系统采用Java开发,基于SpringBoot框架,前端使用Vue,具备数据采集、清洗、分析等功能模块,并能生成监测报告辅助医务人员决策。通过集成多种数据源并运用机器学习算法,系统可自动预警药品不良反应,有效减少药害事故,保障公众健康。
ADR智能监测系统源码,系统采用Java开发,基于SpringBoot框架,前端使用Vue,可自动预警药品不良反应
|
29天前
|
Java
用JAVA架建List集合为树形结构的代码方法
这段代码定义了一个表示树形结构的 `Node` 类和一个用于构建树形结构的 `TreeController`。`Node` 类包含基本属性如 `id`、`pid`、`name` 和 `type`,以及子节点列表 `children`。`TreeController` 包含初始化节点列表并将其转换为树形结构的方法。通过过滤和分组操作实现树形结构的构建。详情可见:[代码示例链接1](http://www.zidongmutanji.com/zsjx/43551.html),[代码效果参考链接2](https://www.257342.com/sitemap/post.html)。
31 5
|
26天前
|
Java 数据库连接 Apache
Java进阶-主流框架总结与详解
这些仅仅是 Java 众多框架中的一部分。每个框架都有其特定的用途和优势,了解并熟练运用这些框架,对于每一位 Java 开发者来说都至关重要。同时,选择合适框架的关键在于理解框架的设计哲学、核心功能及其在项目中的应用场景。随着技术的不断进步,这些框架也在不断更新和迭代以适应新的开发者需求。
37 1
|
29天前
|
存储 Java 程序员
Java中的集合框架:从入门到精通
【8月更文挑战第30天】在Java的世界里,集合框架是一块基石,它不仅承载着数据的存储和操作,还体现了面向对象编程的精髓。本篇文章将带你遨游Java集合框架的海洋,从基础概念到高级应用,一步步揭示它的奥秘。你将学会如何选择合适的集合类型,掌握集合的遍历技巧,以及理解集合框架背后的设计哲学。让我们一起探索这个强大工具,解锁数据结构的新视角。
|
30天前
|
存储 算法 Java
Java中的集合框架深度解析云上守护:云计算与网络安全的协同进化
【8月更文挑战第29天】在Java的世界中,集合框架是数据结构的代言人。它不仅让数据存储变得优雅而高效,还为程序员提供了一套丰富的工具箱。本文将带你深入理解集合框架的设计哲学,探索其背后的原理,并分享一些实用的使用技巧。无论你是初学者还是资深开发者,这篇文章都将为你打开一扇通往高效编程的大门。