【java中的集合框架】学习接触java中的集合,走上学习数据结构道路

news2025/4/6 5:37:36

前言:
大家好,我是良辰呀🏫🏫🏫,从今天开始,我们一起来探索数据结构的知识海洋。期待与大家结伴同行,gogogo。🍬🍬🍬

🧑个人主页:良辰针不戳
📖所属专栏:java数据结构
🍎励志语句:生活也许会让我们遍体鳞伤,但最终这些伤口会成为我们一辈子的财富。
💦期待大家三连,关注,点赞,收藏。
💌作者能力有限,可能也会出错,欢迎大家指正。
💞愿与君为伴,共探Java汪洋大海。


目录

  • 1、初识集合
    • 1.1 简说集合优点
    • 1.2 携带泛型的集合
    • 1.3 集合中泛型只能限制一种类型?
  • 2、集合框架
    • 2.1 Collection
    • 2.2 Map
    • 2.3 简要说明集合框架


1、初识集合

1.1 简说集合优点

集合中可以添加元素,有的人可能会感到疑惑,数组不是也可以添加元素嘛?为什么非要搞的那么麻烦,java官方闲的没事嘛?哈哈,有因必有果,数组不能轻易改变数组长度,这就是一个简单的集合使用原因,可能言语有点朴素,我们来通过代码简单认识一下集合。

public static void main(String[] args) {
        // 创建集合
        ArrayList list1 = new ArrayList(); 
        list1.add(1);
        list1.add(2);
        list1.add(3);
        //打印集合
        System.out.println(list1);
    }

看了上面的代码,大家可能又会问,难道集合里面什么都可以放嘛,如果集合里面啥都放的话,那自然就乱套了,虽然代码不会报错,但是你什么类型的数据都放进去的话自然会导致不必要的麻烦。

在这里插入图片描述

1.2 携带泛型的集合

其实呢,泛型中的东西也很广,但是我们学习java涉及一点就可以了,大家只要记住泛型在集合中就是控制集合中的类型。

public static void main(String[] args) {
        // 创建集合
        ArrayList<Integer> list1 = new ArrayList();
        list1.add(1);
        list1.add(2);
        list1.add(3);
        //打印集合
        System.out.println(list1);
    }

下面的集合被泛型限制后,只能放整型了,但是需要注意的是集合中的泛型放的是引用类型,Integer就是int的包装类。
在这里插入图片描述

1.3 集合中泛型只能限制一种类型?

根据集合的类型而定,看底层原理,很多表的集合具有一一对应关系,简单举个代码例子。

 public static void main(String[] args) {
        HashMap<String,Integer> hashMap = new HashMap<>();
    }

2、集合框架

集合框架也被称为容器,是定义在 java.util 包下的一组接口 interfaces和其实现类 classes。学着学着大家就会觉得集合框架竟然是如此强大,后面我们会学到栈,队列等数据结构,我们直接调用框架就可以了,别着急,知识是慢慢积累的过程。

  • 使用成熟的集合框架,有助于我们便捷、快速的写出高效、稳定的代码。
  • 学习背后的数据结构知识,有助于我们理解各个集合的优缺点及使用场景。

注意:

  • java中有许多集合,我们不可能都去学习,我们只要把常见的记住了,会熟练使用,然后会查阅java文档,见到陌生的查阅文档之后会使用即可。
  • java中集合主要分为Collection 和 Map。它们是 Java 集合的根接口,这两个接口又包含了一些子接口或实现类。
  • 由于接口和抽象类不能直接实例化,需要借助它的子类,因此呢,大家可以看到许多集合实例化关键字前后不对应,后面是它的子类,通过子类实现接口。

2.1 Collection

在这里插入图片描述

该接口是 List、Set 和 Queue 的父接口,是存放一组单值的最大接口。
下面的代码中两个集合实质是相同的,一个通过父接口实例化,一个通过子接口实例化。

在这里插入图片描述

Collection里面有很多方法,但是大家通过下面的图可以看到,Collection又继承了Iterable,集合内容好多有相似的地方,本篇文章就不具体列举了,后面在学习数据结构我们还会详解接触这些集合框架,“细水长流”,哈哈。

在这里插入图片描述

2.2 Map

在这里插入图片描述

Map的意思是表,下图就是一种哈希表,本章只简单了解,表具有一一对应关系,后序还会详细介绍。

在这里插入图片描述

下图是一些表的方法,太多了没截全。

在这里插入图片描述

2.3 简要说明集合框架

这篇文章主要带大家接触集合框架,认识几个常见的框架,大概了解集合框架是什么,我在网上找了几个集合框架作用图,供大家参考学习。

1. 集合接口的作用

在这里插入图片描述
2. 集合实现类的作用

在这里插入图片描述

后序:
今天的java集合框架小知识就分享到这里了,希望这些小小的知识可以帮助到大家,我会不断更新东西,期待与大家结伴,一起抵达海的彼岸。🚀🚀🚀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/145213.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【自学C++】C++命名空间

C命名空间 C命名空间教程 C 中的命名空间实际上就是一个由程序设计者命名的内存区域&#xff0c;程序设计者可以根据需要指定一些有名字的空间域&#xff0c;把一些全局实体分别放在各个命名空间中&#xff0c;从而与其他全局实体分隔开来。 命名空间是 ANSI C 引入的可以由…

前端入门笔记 03 —— Web(html CSS)布局

常用布局 包含两个定义&#xff1a; 尺寸 定位 定义通过CSS拾取网页元素&#xff0c;控制他们控制普通文档流&#xff0c;周边元素&#xff0c;父容器&#xff0c;浏览器窗口 覆盖默认布局行为盒子模型普通文档流 &#xff08;左到右&#xff0c;上到下&#xff09; 块级元素…

2022年中国数字化十大转型趋势

推动数字化发展既是数字时代构筑竞争新优势的战略选择&#xff0c;也是加快构建“双循环”新发展格局和打造高质量发展新引擎的现实需要。我国高度重视数字化发展&#xff0c;不断完善政策措施&#xff0c;着力推动数字化转型。从行业发展看&#xff0c;构建以数据为驱动、以客…

Redis(一)

Nosql 即 Not-Only SQL&#xff08; 泛指非关系型的数据库&#xff09;&#xff0c;作为关系型数据库的补充。 Nosql 作用&#xff1a;应对基于海量用户和海量数据前提下的数据处理问题。 特征 降低磁盘IO次数&#xff0c;越低越好 —— 内存存储 去除数据间关系&#xff…

网络技术基础

theme: qklhk-chocolate 网络技术基础 一、IP地址基础 IP地址是指在网络中用于标识发送或接收数据报文设备的唯一的逻辑地址。 IP地址的主要作用&#xff1a; 标识主机或网络设备&#xff08;标识其网络接口&#xff0c;提供其在网络中的位置&#xff09;网络寻址 •在IP网…

安装pytorch搭配cuda使用

问题 深度学习程序&#xff0c;在服务器运行&#xff0c;需要借助GPU加速。为了检测是否开启了GPU加速&#xff0c;采用以下代码&#xff1a; ~python >> import torch >> torch.cuda.is_available() >> false #说明没有使用GPU加速安装过程 安装老版本的…

如何做好美颜sdk与直播平台的适配?

美颜sdk作为目前社交视频拍摄平台用户的刚需&#xff0c;在近几年可谓是名声大噪&#xff0c;无论是强大的美颜功能还是多元化的趣味拍摄方案都让用户们“爱不释手”&#xff0c;平台自然也是看中了这一点&#xff0c;纷纷为自己平台接入美颜工具。但是&#xff0c;美颜sdk作为…

免费视频格式转换软件,6大免费视频转换器推荐

看到大多数人拥有电脑、智能电视&#xff0c;尤其是移动设备&#xff0c;这一代人并不奇怪。在线观看电影和视频是最常见的消磨时间的娱乐方式之一。能够通过网络观看视频是件好事。有些人还喜欢下载它以供离线观看&#xff0c;因为您并非一直都在使用 Wi-Fi。有时&#xff0c;…

C++——异常

文章目录1.C语言传统的处理错误的方式2. C异常概念3. 异常的使用3.1 异常的抛出和捕获3.2 异常的重新抛出3.3异常安全3.4 异常规范4.自定义异常体系5.C标准库的异常体系6.异常的优缺点6.1 C异常的优点&#xff1a;6.2 C异常的缺点&#xff1a;1.C语言传统的处理错误的方式 传统…

Codeforces Round #842 (Div. 2)(A~D)

A. Greatest Convex给出数字k&#xff0c;输出最大的x&#xff0c;使得x满足大于等于1小于k&#xff0c;且x! (x - 1)!是k的倍数。思路&#xff1a;提取公因式得到&#xff0c;(x 1) * (x - 1)!&#xff0c;由题意知&#xff0c;x 1可以是k&#xff0c;故x最大是k - 1且一定…

如何制作网站?不知道这个诀窍你的网站等于白做

如何制作网站?不知道这个诀窍你的网站等于白做!#外贸 #独立站 #跨境电商 #网站优化 #网站建设 做每一个网页之前&#xff0c;先确定好网页里面的元素&#xff0c;你知道客户是谁&#xff0c;他目前生意做什么体量&#xff0c;主要做什么市场&#xff1f; 我在根据我拿到的这…

【实操篇】Linux的磁盘分区和挂载

目录 ●磁盘分区及挂载 ●典型案例实战 ●磁盘查询 1.查询系统整体磁盘使用情况 2.查询指定目录的磁盘占用情况 3.实用指令及其案例 ●树状目录展示 ●磁盘分区及挂载 简要介绍&#xff1a; 1.Linux无论有几个分区&#xff0c;还是分给哪个目录去使用。它归根结底也就只有…

C. Least Prefix Sum(优先队列)

传送门题意&#xff1a;给你一个长度为n的数组&#xff0c;你可以进行任意次操作&#xff08;也可能是0&#xff09;&#xff0c;可以使&#xff0c;然后给你一个数m&#xff0c;问你要进行多少次操作&#xff0c;才能使长度为m的前缀和的值在所有的前缀和中最小。思路&#xf…

JS 的 9 种作用域,你能说出几种?

作用域想必大家都知道&#xff0c;就是变量生效的范围&#xff0c;比如函数就会生成一个作用域&#xff0c;声明的变量只在函数内生效。 而这样的作用域一共有 9 种&#xff0c;其中几种绝大多数前端都说不出来。 下面我们就一起过一遍这 9 种作用域吧&#xff0c;看看你知道…

具有自主、多鳍和仿生机器人的鱼类三维游泳(2021)

具有自主、多鳍和仿生机器人的鱼类三维游泳(2021) 原文链接&#xff1a;https://iopscience.iop.org/article/10.1088/1748-3190/abd013 这是一篇仿生机器鱼的设计&#xff0c;该论文从鱼的仿生结构到具体的一部分电路设计都有非常详细的介绍&#xff0c;鱼的尺寸大小仅有手掌…

只有从根本上改变对于元宇宙的看法,才能将它的发展带入到一个全新阶段

经历了资本的狂热追捧之后&#xff0c;元宇宙开始进入到相对冷静的发展阶段里。在这样一个阶段&#xff0c;元宇宙不再被看成是一个万能的存在&#xff0c;不再被看成是一个无所不包的存在&#xff0c;而是变成了一个相对较为客观和理性的存在。看看Meta的表现&#xff0c;看看…

未处理的非法访问读异常(插入影像图代码)

本文迁移自本人网易博客&#xff0c;写于2013年1月5日&#xff0c;未处理的非法访问读异常&#xff08;插入影像图代码&#xff09; - lysygyy的日志 - 网易博客 (163.com)Acad::ErrorStatus CustomApplication::createAcDbRasterImageDef (AcDbObjectId & parObjectId, AC…

2023年入职/转行网络安全行业,该如何规划学习?

前言 前段时间&#xff0c;知名机构麦可思研究院发布了**《2022年中国本科生就业报告》**&#xff0c;其中详细列出近五年的本科绿牌专业&#xff0c;其中&#xff0c;信息安全位列第一。 网络安全前景 对于网络安全的发展与就业前景&#xff0c;想必无需我多言&#xff0c;作…

【Leetcode】699. 掉落的方块(困难)

一、题目 1、题目描述 在二维平面上的 x 轴上&#xff0c;放置着一些方块。 给你一个二维整数数组 positions &#xff0c;其中 positions[i][lefti,sideLengthi]positions[i] [left_i, sideLength_i]positions[i][lefti​,sideLengthi​] 表示&#xff1a;第 i 个方块边长…

基于YOLOV5的手势识别系统源码及模型,训练得到能识别10种常用手势的模型

毕设系列-基于YOLOV5的手势识别系统 完整代码下载地址&#xff1a;基于YOLOV5的手势识别系统源码及模型 本期我们带来的内容是基于YOLOV5的手势识别系统&#xff0c;我们将会训练得到能识别10种常用手势的模型&#xff0c;废话不多说&#xff0c;还是先看效果。 配置环境 不熟…