首页/新闻资讯/正文详情

声明 list 的3种方式,ArrayList、Collection、List 的对比

发布时间:2026/11/4 6:06:22 来源:云帆数科 栏目:资讯中心
声明 list 的3种方式,ArrayList、Collection、List 的对比
ArrayList是实现了List接口的类而List 和 Collection 都是 Java集合框架中的接口。这三个声明之间有一些重要的区别ArrayList list new ArrayList();左边是具体实现类ArrayList✅ 能直接调用 ArrayList 所有方法❌ 写死实现类耦合高无泛型随便塞任何对象容易类型转换异常不推荐Collection list new ArrayList();左边是顶层父接口Collection✅ 最抽象❌ 只能用 Collection 里的方法拿不到 List 独有的 get(index)、add(下标 ,元素)几乎很少这么写List list new ArrayList();左边是List接口✅ 面向接口解耦可以用 List 全部方法get、按索引增删❌ 还是原始类型没有泛型类型不安全只是比上面两个规范一点✅标准最佳写法ListStringlistnewArrayList();左边List接口面向接口以后想换成 LinkedList 很方便右边new ArrayList()具体实现String泛型只能放String编译期就检查类型杜绝运行时强转报错ArrayList 换成 LinkedList 的步骤直接把右边new ArrayList()改成new LinkedList()就行左边不动原来ListStringlistnewArrayList();右边换成 LinkedList左边还是 ListListStringlistnewLinkedList();为什么左边不用改因为LinkedList同样实现了 List 接口所以变量类型依旧写List。你后面写的list.add()、list.get()、list.remove()这些 List 的方法全都不用改代码不用动。对比反面写法不推荐如果左边写死 ArrayListArrayListStringlistnewArrayList();以后想换 LinkedList左边类型也要一起改所有用到这个变量的地方都可能受影响耦合太高。

相关推荐

免费星穹铁道游戏自动化助手 March7thAssistant 上手指南
免费星穹铁道游戏自动化助手 March7thAssistant 上手指南

免费星穹铁道游戏自动化助手 March7thAssistant 上手指南 【免费下载链接】March7thAssistant 日常交给三月七,开拓留给你。《崩坏:星穹铁道》开源自动化助手。 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 委托、体力、历战… · 2026/11/4 6:06:22

eslav_PP-OCRv5_mobile_rec_onnx进阶应用:结合TensorRT实现极致推理速度
eslav_PP-OCRv5_mobile_rec_onnx进阶应用:结合TensorRT实现极致推理速度

eslav_PP-OCRv5_mobile_rec_onnx进阶应用:结合TensorRT实现极致推理速度 【免费下载链接】eslav_PP-OCRv5_mobile_rec_onnx 项目地址: https://ai.gitcode.com/paddlepaddle/eslav_PP-OCRv5_mobile_rec_onnx 飞桨PaddlePaddle的eslav_PP-OCRv5_mobile_rec_o… · 2026/11/4 6:06:22

Marp 快速上手指南:3 步在本地把 Markdown 变成免费可导出的幻灯片
Marp 快速上手指南:3 步在本地把 Markdown 变成免费可导出的幻灯片

Marp 快速上手指南:3 步在本地把 Markdown 变成免费可导出的幻灯片 【免费下载链接】marp The entrance repository of Markdown presentation ecosystem 项目地址: https://gitcode.com/gh_mirrors/mar/marp Marp(Markdown Presentation Ecosyst… · 2026/11/4 6:06:22

ok-ww 新手安装配置指南:鸣潮自动战斗与一键日常三步跑起来
ok-ww 新手安装配置指南:鸣潮自动战斗与一键日常三步跑起来

ok-ww 新手安装配置指南:鸣潮自动战斗与一键日常三步跑起来 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves 每天登录《… · 2026/11/4 6:59:29

macOS 菜单栏管理器 Ice:3 次设置收拾好一整排图标
macOS 菜单栏管理器 Ice:3 次设置收拾好一整排图标

macOS 菜单栏管理器 Ice:3 次设置收拾好一整排图标 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice Ice 是一款 macOS 菜单栏管理器,就干三件事:隐藏菜单栏项目、重… · 2026/11/4 6:59:29

【Use Cases】15. CrewAI与LlamaIndex集成案例分析
【Use Cases】15. CrewAI与LlamaIndex集成案例分析

1. 案例目标本案例展示了如何将CrewAI多智能体框架与LlamaIndex的RAG(检索增强生成)管道集成,创建能够协同工作的智能体团队。主要目标包括:演示CrewAI与LlamaIndex的基本集成方法展示如何使用LlamaIndex工具作为CrewAI智能体的查询接口构建一个基于Uber… · 2026/11/4 6:59:29

cat-catch 猫抓:浏览器资源嗅探扩展,网页视频定位与 m3u8 合并一步到位
cat-catch 猫抓:浏览器资源嗅探扩展,网页视频定位与 m3u8 合并一步到位

cat-catch 猫抓:浏览器资源嗅探扩展,网页视频定位与 m3u8 合并一步到位 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch cat… · 2026/11/4 6:59:29

深度拆解 Hermes JavaScript 引擎:AOT 预编译与紧凑字节码如何压低 React Native 启动时间
深度拆解 Hermes JavaScript 引擎:AOT 预编译与紧凑字节码如何压低 React Native 启动时间

深度拆解 Hermes JavaScript 引擎:AOT 预编译与紧凑字节码如何压低 React Native 启动时间 【免费下载链接】hermes A JavaScript engine optimized for running React Native. 项目地址: https://gitcode.com/gh_mirrors/hermes/hermes React Native 应用最… · 2026/11/4 6:59:29

AI声音克隆的伦理边界:Audio8-TTS-Realistic-0.6b的局限、常见陷阱与负责任使用指南
AI声音克隆的伦理边界:Audio8-TTS-Realistic-0.6b的局限、常见陷阱与负责任使用指南

语音音频深度学习大模型本地部署 【免费下载链接】Audio8-TTS-Realistic-0.6b 项目地址: https://ai.gitcode.com/hf_mirrors/Edge0/Audio8-TTS-Realistic-0.6b 点击查看 免费下载 Audio8-TTS-Realistic-0.6b 是一个 0.6B 参数的开源 AI 声音克隆(AI vo… · 2026/11/4 6:58:29

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46

AI辅助技术栈评估:提升研发决策效率60%
AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17

从生成Token到直接决策:Jev如何重塑AI Agent工程实践
从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17

32G统一内存跑大模型:内存账、TPS实测与端云分流
32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码