您现在的位置是:首页 > 正文

java list 和数组区别_java list和数组的区别

2024-04-01 01:17:22阅读 2

展开全部

List和ArrayList的区别在于:

1、在编程语言中ArrayList类是.Net Framework提供的用于数据存储和检索的专用类。List 类可以简单视之为双向62616964757a686964616fe78988e69d8331333366306434连结串行,以线性列的方式管理物件集合。List类是ArrayList类的泛型等效类。

2、ArrayList继承了IList接口,所以它可以很方便的进行数据的添加,插入和移除。List的大部分用法都与ArrayList相似,List类也继承了IList接口。

3、在ArrayList中可以插入不同类型的数据。ArrayList会把所有插入其中的数据都当作为object类型来处理,这其中存在装箱与拆箱的操作,会对系统造成性能上的损耗。而List需要声明其数据的对象类型。声明后插入其他类型数据,IDE就会报错,且不能通过编译。

quality,q_85

4、在使用ArrayList中的数据来处理问题的时候,很可能会报类型不匹配的错误,即ArrayList不是类型安全的。而List已经声明过其数据的对象类型,是类型安全的,避免了前面讲的类型安全问题与装箱拆箱的性能问题。

da300fd5d347220462333f8badddd851.png

5、ListArray就可以被构造。而List不能被构造,但可以为List创建一个引用。

582b815dfaeb4e0872e10b7f91be2905.png

扩展资料:

一、List泛型

通过允许指定泛型类或方法操作的特定类型,泛型功能将类型安全的任务从程序员转移给了编译器。不需要编写代码来检测数据类型是否正确,因为会在编译时强制使用正确的数据类型。减少了类型强制转换的需要和运行时错误的可能性。泛型提供了类型安全但没有增加多个实现的开销。

二、装箱与拆箱的概念:

1、装箱:就是将值类型的数据打包到引用类型的实例中 比如将int类型的值123赋给object对象o

int i=123; object o=(object)i;

2、拆箱:就是从引用数据中提取值类型 比如将object对象o的值赋给int类型的变量i

object o=123; int i=(int)o;

3、装箱与拆箱的过程是很损耗性能的。

网站文章

  • WPS批量设置及批量打印文档

    WPS批量设置及批量打印文档

    2024-04-01 01:16:58
  • Windows下jmap命令报错问题

    最近换了笔记本,新的工作环境下jmap命令居然在报错,而jps、jstat、jinfo、jstack都能正常使用,所以初步排除进程号的问题。Attaching to core 17536 from executable heap, please wait...Error attaching to core file: Windbg Error: OpenDumpFile fai...

    2024-04-01 01:16:50
  • 深入解析MySQL分区(Partition)功能

    深入解析MySQL分区(Partition)功能 转自:https://www.cnblogs.com/alamps/p/6740572.html 参考:https://blog.csdn.net/tjcyjd/article/details/11194489 第18章:分区 目录 18.1. MySQL中的分区概述 18.2. 分区类型 18.2.1. RANGE分区 18.2.2. ...

    2024-04-01 01:16:45
  • 938. Range Sum of BST(递归)

    package Recursion; public class RangeSumBST_938 { public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } int sum=0; public int rangeSumBST(T...

    2024-04-01 01:16:20
  • el-tree没有复选框时,选中、currentNodeKey高亮、定位、刷新后保留展开状态功能的实现

    el-tree没有复选框时,选中、currentNodeKey高亮、定位、刷新后保留展开状态功能的实现

    使用无选择框的el-tree时,当点击某行数据的时候会有背景色,但是当鼠标点击别处时,便失去焦点,背景色随之消失了。el-tree没有复选框时,选中、高亮、定位、刷新后保留展开状态功能的实vue2+e...

    2024-04-01 01:16:14
  • 阿里云服务器环境搭建

    阿里云服务器环境搭建

    阿里云轻量级应用云服务器部署 服务器的开发环境是需要部署的需要提前准备好linux系统的Tomcat以及jdk,还有服务器终端工具Xshell和远程传输工具WinSCP 购买服务器阿里云云翼计划服务器:https://promotion.aliyun.com/ntms/act/campus2018.html?spm=5176.8112568.420890.3.67c29ed5QikJJO ...

    2024-04-01 01:16:07
  • 算法导论—最长递增子序列

    华电北风吹 日期:2016/2/20问题描述: 例如数组arr=[1,5,8,2,3,4]的最长递增子序列是1,2,3,4动态规划求解。对于数组中的每个元素,从前往后计算每个元素的状态——到这个元素为止所构成的最长递增子序列。时间复杂度Θ(n2)\Theta (n^2)。 参考代码:#include #include

    2024-04-01 01:16:01
  • 31省市数字经济“十四五”规划路线图

    31省市数字经济“十四五”规划路线图

    发展数字经济是把握新一轮科技革命和产业变革新机遇的战略选择。全文共计17783字,预计阅读时间12分钟来源| 数据观综合(转载请注明来源)编辑| 蒲蒲近年来,我国数字经济发展势头强劲,数字经济顶层设计持续完善,数字经济成为我国经济增长的重要推动力量。与此同时,各地纷纷出台相关政策措施,抢抓数字经济发展机遇。结合各地“十四五”规划及数字经济相关文件,数据观整理了31个...

    2024-04-01 01:15:36
  • Qt5 学习之路及嵌入式开发教程20:Qt5绘图---QPainter

    Qt5 学习之路及嵌入式开发教程20:Qt5绘图---QPainter

    Qt5 学习之路及嵌入式开发教程20:Qt5绘图---QPainter这次任务要完成Qt5 QPainter 2D-绘图界面设计及功能实现一、项目文件的建立1、新建文件或项目2、选择后,输入名称和路径,下一步:3、输入类名:这边输入Draw,选择基类:QWidget,下一步:4、下一步,直到点击中“完成”,完成文件设置。二、基本绘图1、重...

    2024-04-01 01:15:30
  • 推荐一款免费的带有坐标系的在线绘图web应用(汇报神器)

    推荐一款免费的带有坐标系的在线绘图web应用(汇报神器)

    这简直就是汇报党的福音,有时候汇报的时候,想描述一个变化过程往往需要坐标系加以支持,但是工业软件又过于难看,且复杂。那有没有可以简单快速的绘制带有坐标系的示意图工具呢?我搜了一下还真有。

    2024-04-01 01:15:21