网站首页 > java教程 正文
关注小编,可以天天看新内容哦
数组的查询效率高,增删效率低
数组中存储元素的类型是统一的,在定义数组时就已经确定了。另外,每一个元素在内存中所占的空间大小是相同的,和元素数据类型相关。数组实例指向数组首元素的内存地址,要查找的元素只要通过数组下标就可以快速的计算出数组元素在内存中的偏移量,通过首元素内存地址加上偏移量可以快速计算出要查找元素的内存地址,通过内存地址快速定位该元素,所以数组查找元素的效率较高。
但是需要注意的是,随机的对数组进行增删元素效率较低,因为当增加的元素的时候,为了保证数组中元素在空间存储上是有序的,所以被添加元素位置后面的所有元素都要向后移动。同样,删除元素也是,后面所有的元素要向前移动。所以数组的增删元素的效率很低。
动态增删数组中的元素示意图:
案例1:向数组中插入元素,在某个值前插入元素,前提条件是数组中没有重复值
案例2:删除数组中某个特定值的元素,前提条件是数组中没有重复值
初始化一维数组有两种方式:
1.静态初始化
2.动态初始化
静态初始化:当创建数组对象时同时也初始化了数组元素,同时数组的长度也确定了,数组的长度一旦设定就不能在更改了。
动态初始化:先定义数组元素,然后对数组进行赋值,是动态的初始化。
获取数组元素的值要通过数组的下标,数组的下标从0开始,数组的长度可以通过数组对象的属性length获得。
案例3:静态初始化并通过数组下标获取数组元素的值
案例4:动态初始化,首先确定了数组的长度,然后通过数组下标对数组各元素赋值。
动态初始化一维数组,会先在堆内存中为数组分配空间,并且为数组中的每一个元素赋默认值。
如果您觉得文章还可以,请关注小编,还可以天天看新内容哦
- 上一篇: Java基础之数组(java数组知识)
- 下一篇: 王牌编程语言Java数组方法定义及调用
猜你喜欢
- 2024-09-25 再说,数组(数组mem)
- 2024-09-25 数据结构基础-数组(数据结构数组思维导图)
- 2024-09-25 编程专题:JAVA语法基础(一维数组)
- 2024-09-25 2.基本语法(数组)(数组的基本用法)
- 2024-09-25 灵魂拷问:如何检查 Java 数组中是否包含某个值?
- 2024-09-25 JAVA中数组(一)(java数组菜鸟教程)
- 2024-09-25 java数据类型之数组,有关数组的18个问题
- 2024-09-25 java基础回顾(五)——java数组(java里面数组)
- 2024-09-25 JavaSE基础:数组(java数组用法)
- 2024-09-25 java数组,全新的认识数组,你真的学好数组了吗?
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)