数组的理论知识

文章目录

  • 数组的理论知识

数组的理论知识

数组是我们在编程时期经常使用到的一种数据结构。

特点:

  1. 连续的内存空间中存储相同数据类型的数据

如图:

arr 数组

在这里插入图片描述

注意点:数组的修改的效率是比较慢的,O(n),因为数组只可以覆盖,不可直接修改,比如我们删除 arr[1],那么之后的元素逐一的往前移动,此时 arr[1] = J,arr[2] = E

数组的查询效率是比较快的,达到O(1)。

在Java中,数组我的经常使用的是动态数组ArrayList用于存储相同对象类型的数据。

为什么有数组了,还要有ArrayList这种动态数组呢?

因为数组的内存空间是固定的,会造成内存不足或浪费的情况。而ArrayList是动态数组,它的大小会随着数组存储的元素大小而变化而且ArrayList还可以存储对象。

随着数组存储的元素大小而变化而且ArrayList还可以存储对象。

我是小辉,24 届毕业生。当下是找工作ing,欢迎关注,持续分享。

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

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

相关文章

人工智能万卡 GPU 集群的硬件和网络架构

万卡 GPU 集群互联:硬件配置和网络设计 一、背景 自从 OpenAI 推出 ChatGPT 以来,LLM 迅速成为焦点关注的对象,并取得快速发展。众多企业纷纷投入 LLM 预训练,希望跟上这一波浪潮。然而,要训练一个 100B 规模的 LLM&a…

嵌入式学习——3——多点通信

1、套接字选项(socket options) int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen); int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen); 功能:获取或设置套接…

设计模式在芯片验证中的应用——单例

一、单例模式 单例模式(Singleton)是一种创建型设计模式,能够保证一个类只有一个实例, 并提供一个访问该实例的全局节点。验证环境配置(configuration)类、超时(timeout)处理类等可以使用单例实现。比如说验证环境需要在特定场景中监测特定接口上的超时事…

【linux软件基础知识】进程管理命令的简要概述

下面是linux进程命令的简要概述: ps(进程状态): 显示有关当前正在运行的进程的信息。常用选项: ps -e(或 ps -A):列出所有进程。ps -ef:显示完整格式列表。ps -aux:显示所有用户的进程。top: 显示正在运行的系统进程的动态实时视图。 提供 CPU 使用率、内存使用率和…

跨域问题解决之隔山隔海都不怕

一、背景 在现代Web开发中,前后端分离架构越来越流行。在这种架构下,前端和后端分别运行在不同的域名下,这就涉及到了跨域请求的问题。当使用Spring Boot作为后端服务框架时,默认情况下是不允许跨域请求的,这会导致前…

sass的基本使用

Sass(Syntactically Awesome Stylesheets)是一种CSS预处理器,它允许你使用变量、嵌套规则、混合(mixin)等功能来编写更具可维护性和可读性的样式代码。以下是Sass的基本使用方法: 安装Sass: 在W…

STM32-GPIO八种输入输出模式

图片取自 江协科技 STM32入门教程-2023版 细致讲解 中文字幕 p5 【STM32入门教程-2023版 细致讲解 中文字幕】 https://www.bilibili.com/video/BV1th411z7sn/?p5&share_sourcecopy_web&vd_source327265f5c70f26411a53a9226af0b35c 目录 ​编辑 一.STM32的四种输…

达梦数据库创建根据日期按月自动分区表

达梦数据库创建根据日期自动分区表 概念 达梦数据交换平台(简称DMETL)是在总结了众多大数据项目经验和需求并结合最新大数据发展趋势和技术的基础上,自主研发的通用的大数据处理与集成平台。 DMETL创新地将传统的ETL工具(Extract、Transform、Loading…

maven默认src下的xml,properties文件不打包到classes文件夹下

一、第一种是建立src/main/resources文件夹,将xml,properties等资源文件放置到这个目录中。maven工具默认在编译的时候,会将resources文件夹中的资源文件一块打包进classes目录中。 这时候注意把resources设置成resource目录,已经…

CI/CD 管道中的自动化测试:类型和阶段

在上一篇文章中,我们讨论了敏捷团队自动化测试用例的各种用例。其中一种情况是,团队希望将测试与每个构建集成,并将持续集成作为构建过程的一部分。 在本文中,我们将讨论持续集成/持续交付平台中的集成测试。 让我们先从基础知识…

Sentinel Dashboard 规则联动持久化方案

一、Sentinel Dashboard 规则联动持久化方案 Sentinel 是阿里开源的一个流量控制组件,它提供了一种流量控制、熔断降级、系统负载保护等功能的解决方案。并且我们通过 Sentinel Dashboard 可以非常便捷的添加或修改规则策略,但是如果细心的小伙伴应该可…

Jenkins、GitLab部署项目

1、安装JDK 1.1、下载openJdk11 yum -y install fontconfig java-11-openjdk1.2、查看安装的版本号 java -version1.3、配置环境变量 vim /etc/profile在最底部添加即可 export JAVA_HOME/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64 export PATH$JAVA_HOME/…

GEE深度学习——使用Tensorflow进行神经网络DNN土地分类

Tensorflow TensorFlow是一个开源的深度学习框架,由Google开发和维护。它提供了一个灵活的框架来构建和训练各种机器学习模型,尤其是深度神经网络模型。 TensorFlow的主要特点包括: 1. 它具有高度的灵活性,可以用于训练和部署各种类型的机器学习模型,包括分类、回归、聚…

经典链表题-链表回文结构

🎉🎉🎉欢迎莅临我的博客空间,我是池央,一个对C和数据结构怀有无限热忱的探索者。🙌 🌸🌸🌸这里是我分享C/C编程、数据结构应用的乐园✨ 🎈🎈&…

神经网络的工程基础(一)——利用PyTorch实现梯度下降法

相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型:从线性回归到通用人工智能》,欢迎有兴趣的读者多多支持。 本文涉及到的代码链接如下:regression2chatgpt/ch06_optimizer/gradient_descent.ipynb 本文将讨论利用PyTorch实现…

BFS 解决最短路问题

目录 一、前言 1.1 如何使用 BFS 找到最短路: 1.2 为什么不用 dfs : 二、模板套路 三、例题练习 3.1 例题1:迷宫中离入口最近的出口 3.2 例题2:最小基因变化 3.3 例题3:单词接龙 3.4 例题4:为高尔…

HTML橙色爱心

目录 写在前面 准备开始 完整代码 运行结果 系列文章 写在后面 写在前面 本期小编给大家分享一颗热烈且浪漫的爱心,快来看看吧! 准备开始 在开始之前,我们需要先简单的了解一下这颗爱心的原理哦~ 本期将用html实现这颗跳动的爱心&a…

YOLOv9改进策略 | 图像去雾 | 利用图像去雾网络UnfogNet辅助YOLOv9进行图像去雾检测(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是利用UnfogNet超轻量化图像去雾网络,我将该网络结合YOLOv9针对图像进行去雾检测(也适用于一些模糊场景),我将该网络结构和YOLOv9的网络进行结合同时该网络的结构的参数量非常的小,我们将其添加到模型里增加的计算量和参数量基本可…

跨平台之用VisualStudio开发APK嵌入OpenCV(二)

开始干 新建解决方案,新建动态库(Android)项目 功能随便选一个吧,就模仿PS(Photoshop)的透视裁切功能,一个物体(比如扑克牌)透视图,选4个顶点,转…

python文件处理之os模块和shutil模块

目录 1.os模块 os.path.exists(path):文件或者目录存在与否判断 os.path.isfile(path):判断是否是文件 os.path.isdir(path):判断是否是文件夹 os.remove(path):尝试删除文件 os.rmdir(path):尝试删除目录 os.m…