List与Set、数组与ArrayList、ArrayList与LinkedList的区别
List 与 Set 的区别:
| 项 | List | Set |
| 重复 | 允许重复的对象(多个null也可以) | 不允许重复的对象(null也只能有一个) |
| 有序性 | 有序的。 保持了每个元素的插入顺序。即输出顺序就是输入顺序。 | 有序和无序都有。 HashSet:无法保证每个元素的存储顺序。 LinkedHashSet:按插入顺序存放。 |
数组与 ArrayList 的区别:
相同点:
1. 都具有索引(index):可以通过 index 来直接获取和修改任意项;
2. 它们所创建的对象都放在堆中;
3. 都能够对自身进行枚举(因为都实现了 IEnumerable 接口);
不同点:
| 项 | 数组(Array) | ArrayList |
| 数据类型 | 可以是基本类型或对象类型。 | 只能是对象类型。 |
| 大小 | 大小是固定的,Array对象的初始化必须指定大小 | 大小是动态的 |
| 数据存放 | 连续存放(在内存中,数组的元素是按照顺序依次存储在一块连续的内存空间中的。这种连续存储的方式使得数组在随机访问时效率很高,因为可以通过计算偏移量直接定位到元素的内存位置。例如,对于一个int类型的数组,每个元素占用 4 个字节,如果知道数组的起始地址和元素的索引,就可以通过简单的乘法和加法运算来计算出元素的内存地址。) | 对象的引用是连续的,但对象本身在内存中的位置不一定连续。(ArrayList 内部维护的是一个对象引用数组,这些引用在内存中是连续存放的。但是,这些引用所指向的实际对象(如String对象或其他自定义对象)本身在内存中的位置是由 Java 虚拟机的内存管理系统根据内存的使用情况动态分配的,不一定是连续的。这种存储方式在插入和删除元素时相对灵活,但在一定程度上可能会影响访问效率。) |
| 插入与删除 | 不能够添加和删除其中的项 | 可以在任意位置插入和删除项。 |
| 访问 效率 | 高 | 低 |
ArrayList 与 LinkedList 的区别:
相同点:
1. 都是线程不安全的;
2. 都是按照存入的顺序取出;
不同点:
| 项 | ArrayList | LinkedList |
| 实现方式 | 基于数组。 | 基于链表。 |
| 随机访问 | 支持随机访问。(实现了RandomAccess 接口) | 不支持随机访问。 |
| 插入效率 | 插入效率比较低(需要扩容时效率会变低)。 | 插入效率比较高(删除不一定高)。 |
| 使用场景 | 随机访问的场景。 | 插入很频繁的场景 用作:栈、队列或双向队列 |
相关文章:
List与Set、数组与ArrayList、ArrayList与LinkedList的区别
List 与 Set 的区别: 项ListSet重复允许重复的对象(多个null也可以)不允许重复的对象(null也只能有一个)有序性有序的。 保持了每个元素的插入顺序。即输出顺序就是输入顺序。 有序和无序都有。 HashSet:无…...
如何在 Odoo18 视图中添加关联数据看板按钮 | 免费开源ERP实施诀窍
文 / 开源智造 Odoo亚太金牌服务 引言 关联数据看板按钮乃是 Odoo 当中的一项强效功能,它容许用户顺遂地访问相关记录,或者直接从模型的表单视图施行特定操作。它们为用户给予了对重要信息的疾速访问途径,并简化了工作流程,由此…...
Linux下mysql环境的搭建
1.mysql的下载 去MySQL官网下载mysql的linux压缩包 MySQL :: Download MySQL Community Server 如果下载慢请到网盘中自行下载 通过网盘分享的文件:mysql-8.0.40-1.el7.x86_64.rpm-bundle.tar 链接: https://pan.baidu.com/s/1vUJ-VuTwer1nLPT-haQCqw?pwd6342 提…...
视觉语言模型 Qwen2-VL
视觉语言模型 Qwen2-VL flyfish from PIL import Image import requests import torch from torchvision import io from typing import Dict from transformers import Qwen2VLForConditionalGeneration, AutoTokenizer, AutoProcessor from modelscope import snapshot_dow…...
浅谈新能源汽车感应钥匙一键启动的步骤和特点
随着汽车智能化技术的发展,无钥匙启动系统还可以与其他智能系统进行集成,如智能车载系统、远程控制系统等。这使得车主可以通过智能手机等智能设备远程控制车辆的启动、解锁、上锁等操作,进一步提升了使用的便捷性和智能化水平。新能源汽车…...
鸿蒙ArkTS语言基础语法详解
文章目录 鸿蒙ArkTS语言基础语法详解一、引言二、ArkTS语言概述1. ArkTS语言特点2. TypeScript基础语法2.1 类型注解2.2 接口2.3 泛型2.4 类的继承2.5 类的访问修饰符 三、ArkTS的基本组成3.1 装饰器3.2 UI描述3.3 自定义组件3.4 系统组件3.5 属性方法和事件方法 四、自定义组件…...
H5游戏出海如何获得更多增长机会?
海外H5小游戏的崛起给了国内众多中小厂商出海发展的机会,开发者如何在海外市场获得更多的增长机会?#APP出海# H5游戏如何在海外获得核心用户? HTML5游戏的开发与运营者们首先可以利用量多质高的HTML5游戏,维持海外用户粘性&…...
Cmake+基础命令
一、版本要求: 检查 cmake 版本号的最低要求,不满足条件时报错。 cmake_minimum_required(VERSION <version>)参数: version:最低要求的版本号 例子: # 最低要求安装3.21版本的cmake cmake_minimum_required…...
python数据分析之爬虫基础:requests详解
1、requests基本使用 1.1、requests介绍 requests是python中一个常用于发送HTTP请求的第三方库,它极大地简化了web服务交互的过程。它是唯一的一个非转基因的python HTTP库,人类可以安全享用。 1.2、requests库的安装 pip install -i https://pypi.tu…...
PHP期末复习(通过30道填空题梳理知识点)
一、基本语法 PHP的开始标记是: <?php<?php 是PHP脚本的开始标签,所有PHP代码必须在这个标签内书写。 PHP文件的结束标记是: ?>?> 是PHP脚本的结束标签,在大多数PHP文件中,通常可以省略结束标记。 定…...
PostgreSQL 安装部署系列:使用YUM 方式在Centos 7.9 安装指定 PostgreSQL -15版本数据库
一、前言 千里之行始于足下,想学习一门数据库,首先要从安装部署开始,先拥有一套属于自己的学习测试库。为了更好的学习该数据库,可以选择一个在企业界使用率比较普及的操作系统,选择稳定版本的操作系统;如果…...
知识图谱8:深度学习各种小模型
1、知识图谱的展示有很多工具 Neo4j Browser - - - - 浏览器版本 Neo4j Desktop - - - - 桌面版本 graphX - - - - 可以集成到Neo4j Desktop Neo4j 提供的 Neo4j Bloom 是用户友好的可视化工具,适合非技术用户直观地浏览图数据。Cypher 是其核心查询语言…...
为什么 JavaScript 中的 `new` 运算符报错?
在 JavaScript 中,new 运算符通常用于创建一个新对象并调用构造函数来初始化对象。然而,new 运算符可能会引发一些错误,通常是由于以下原因导致的: 构造函数没有正确的定义: 如果使用 new 运算符调用的函数没有正确地定…...
Tomcat,javaweb, servlet , springBoot
在server.xml里配置服务器 <scope>provided</scope>打包的时候,这个jar包不会被打进去,因为tomcat已将封装了这个jar包,没必要要这个...
使用Kimi开发自己的问答应用
概述 Kimi是大家常用的一个人工智能助手,本文使用Kimi开发文档,以node作为后端,开发与一个问答系统 实现效果 Kimi简介 Kimi是由Moonshot AI开发的人工智能助手,擅长中文和英文对话。目标是帮助用户解决问题、提供信息和执行任…...
TypeScript进阶
Typescript进阶 基础知识 JavaScript 的核心特点就是灵活,但随着项目规模的增大,灵活反而增加开发者的心智负担。例如在代码中一个变量可以被赋予字符串、布尔、数字、甚至是函数,这样就充满了不确定性。而且这些不确定性可能需要在代码运行…...
jenkins邮件的配置详解
Jenkins邮件的配置涉及多个步骤和细节,以下是详细的配置指南: 一、前期准备 确定邮件服务:明确Jenkins将要使用的邮件服务,如QQ邮箱、163邮箱、公司邮箱(基于Microsoft 365或Exchange Server)等。获取SMTP配置信息:根据邮件服务类型,获取相应的SMTP服务器地址、端口号…...
小皮面板(PHPSTUDY)配置多个域名或IP
问题描述 小皮面板默认采用nginx的静态部署,按照使用nginx的习惯只需要额外添加一个server即可,但是会发现直接往配置文件里添加新的server是不生效的,小皮的官网论坛几乎已经停止维护,因此资料较少,原本也没有仔细使…...
【大语言模型】LangChain LCEL 表达式语言
【大语言模型】LangChain LCEL 表达式语言 一、简介二、LCEL的优势三、LCEL 的基本使用1、Runnable 对象 四、实战实例 一、简介 LangChain LCEL 的全称为 LangChain Expression Language 即可直译为 LangChain 表达式。 为了构造更复杂的 LLM 应用并且更为简便快捷的构造 LLM…...
Leetcode 3382. Maximum Area Rectangle With Point Constraints II
Leetcode 3382. Maximum Area Rectangle With Point Constraints II 1. 解题思路2. 代码实现 题目链接:3382. Maximum Area Rectangle With Point Constraints II 1. 解题思路 这一题是题目3380. Maximum Area Rectangle With Point Constraints I的进阶版&#…...
淘宝淘金币自动化脚本终极指南:每天节省20分钟的完整解决方案
淘宝淘金币自动化脚本终极指南:每天节省20分钟的完整解决方案 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本,包含蚂蚁森林收取能量,芭芭农场全任务,解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinbi …...
Hypha框架深度解析:现代Python异步Web开发与API构建实践
1. 项目概述:Hypha,一个被低估的轻量级Web框架 如果你和我一样,长期在Web后端开发领域摸爬滚打,那么对Flask、FastAPI、Express这些名字一定耳熟能详。它们各有千秋,也各有其“甜蜜点”和“痛点”。最近在GitHub上闲逛…...
LDO噪声特性分析与测量优化指南
1. LDO噪声特性与测量基础低噪声线性稳压器(LDO)作为电源管理系统的核心器件,其噪声特性直接影响着精密模拟电路、射频系统和传感器等关键模块的性能表现。与开关电源不同,LDO通过线性调节方式工作,避免了高频开关噪声…...
第三篇:变量
一.变量 1.变量的创建 (1)语法格式:data_type name; 补充:其中“data_type"是数据类型,”name"是变量名,变量名根据需求随意取即可,但尽量取得有意义 例如:int age 10;(创…...
GoAmzAI:开源本地化部署,AI赋能亚马逊卖家高效生成运营文案
1. 项目概述:一个面向亚马逊卖家的AI助手最近在和一些做跨境电商的朋友聊天,发现他们每天花在亚马逊店铺运营上的时间,很大一部分都耗在了重复性的文案工作上。从产品标题、五点描述、A页面,到广告文案、客户邮件回复,…...
番茄小说下载器:打造个人专属离线小说图书馆的完整指南
番茄小说下载器:打造个人专属离线小说图书馆的完整指南 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 你是否曾在通勤路上突然想读小说,却因为网络信号不佳而无法加…...
OpenClaw + Claude Code 插件:多 Agent 协作开发,到底解决了什么,没解决什么?
先说结论多 Agent Council 适合复杂项目,但简单任务直接用 CLI 更高效。混合引擎能发挥不同模型优势,但协调成本和 API 费用不容忽视。持久会话和工具 API 提升了开发体验,但需注意 API Key 计费而非订阅额度。从实际选型角度,拆解…...
如何快速掌握FunClip:阿里开源AI视频剪辑的完整指南
如何快速掌握FunClip:阿里开源AI视频剪辑的完整指南 【免费下载链接】FunClip Open-source, accurate and easy-to-use video speech recognition & clipping tool, LLM based AI clipping intergrated. 项目地址: https://gitcode.com/GitHub_Trending/fu/Fu…...
CANN/asc-devkit Query API文档
Query 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/cann…...
2026年AI大模型接口中转站排行榜新鲜出炉!五大平台硬核数据对比,为开发者提供权威选型指南
发布机构:中国产业信息研究院 TechInsight AI评测实验室 发布日期:2026年3月28日 数据来源:72小时连续压测、万级QPS仿真、10万 真实请求样本、服务商后台脱敏数据 2026年,AI工业化实现全面落地,全球AI大模型接口中…...
