大家了解什么是数组长度吗?什么是数组下标吗?经常有人将这两个词混淆,今天呢,小编给小伙伴们带来了有关数组的相关知识,就让我们一起了解了解吧。

有的人说数组是可以改变,有的人说数组是不可以。然而我在使用的过程中,不指定数组的长度就会报错。不知道你们是否一样呢?

总而言之一句话,在java中,数组的长度是不能够发生改变的,数组下标是从0开始的。

java中的数组的定义就是 相同类型 ,固定长度 的一组数据,一旦被初始化,长度是不可更改。

数组声明有两种方式:

静态的初始化

比如:int[] strArrayTest1 = {1,2};

声明好之后它的长度就是2,是不可改变的。

动态初始化

案列:int[] strArrayTest2 = new int[5];

这个时候它的长度为5,也是不可改变的。

当然你可以先声明一个数组int[] strArrayTest1 = {1,2}, 然后由于业务需要修改为strArrayTest2 = new  int[4],表面上看长度改变了,但是这已经是两个不同的数组了,前面一个由于没有用,被垃圾回收器回收了。

注意区分使用 new 的区别。

如果对需要用的数组的长度不确定,有两种解决办法:

第一种是在数组初始化的时候 长度申请的足够大,这样做会造成内存空间的浪费,一般不推荐使用的。

第二种是使用java中提供的 集合 的方式来存储数据的,列如List,Set和Map类型的对象来进行存储数据,

一方面这些类型的对象的长度也都是动态增长的;

另一方面这些类中提供了很多便于操作数据的一些方法。

因此在对此所需存储数据的多少不确定的时候,推荐使用第二种方法。

好了,以上就是今天所讲的内容,是否了解了呢?希望给小伙伴们留下深刻的印象,想要了解更多知识,请据需关注本网站。

java 数组下标和值的关系_java数组长度可以改变吗?与数组下标有何异同?相关推荐

  1. java 暂停等返回值在执行_java面试技巧(2)

    java面试试题及答案 以下是Java面试问题及答案: 1.简要介绍java程序的健壮性. 答:JAVA 程序会在编译和运行的时候自动的检测可能出现的错误,而且它是一种强类型语言,对于类型的检查很严格 ...

  2. jquery删除数组中的某个元素下标越界_Java数据结构和算法(二)—数组

    目录 1.Java数组介绍 2.用类封装数组实现数据结构 3.分析数组的局限性 上篇博客我们简单介绍了数据结构和算法的概念,对此模糊很正常,后面会慢慢通过具体的实例来介绍.本篇博客我们介绍数据结构的鼻 ...

  3. java 常量池 和 堆 的关系_Java堆、栈和常量池以及相关String的详细讲解(经典中的经典)...

    博客分类: Java综合 一:在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register). 这是最快的存储区,因为它位于不同于其他存储区的地方--处理器内部.但是寄存器的数量极其有 ...

  4. java框内的值怎么同步_java并发编程使用锁进行数据同步操作一

    项目中总是出现招标项目超投的情况,最开始总是觉得应该使用框架Hibernate自带的并发策略中的乐观锁(version)解决问题,参考了很多网上的资料,也参考了Hibernate的帮助文档,由于对Hi ...

  5. php 二位数组去掉重复,PHP 二维数组去掉重复值并保持原结构

    PHP 二维数组去掉重复值并保持原结构 直接上代码,解释很详细 //二维数组去掉重复值 function arrunique($a){ foreach($a[0] as $k => $v){ / ...

  6. int数组初始化_Java中到底有没有多维数组

    Java 中没有多维数组的概念,从数组底层的运行机制上来看 Java 没有多维数组,但是 Java 提供了支持多维数组的语法,可以实现多维数组的功能. Java 语言里的数组类型是引用类型,因此数组变 ...

  7. PHP array_count_values() 函数用于统计数组中所有值出现的次数。

    定义和用法 array_count_values() 函数用于统计数组中所有值出现的次数. 本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数. 语法 array_count ...

  8. php获取数组中的全部可以吗,php获取数组中所有值的方法

    php的数组操作函数array_values 可以提取一个数组中所有元素值,具体的使用方法,可以参考下面的教程. array_values() 函数的作用是返回数组中所有元素的值,使用起来非常简单,只 ...

  9. php数组修改键值,php数组中子数组如何修改键值

    php数组中子数组修改键值的方法:使用函数[array_slice()]在数组中根据条件取出一段值,并返回,语法为[array_slice(array,offset,length,preserve)] ...

最新文章

  1. MyBatis Review——输入输出映射
  2. VTK:vtkCellArray用法实战
  3. SQL经典面试题及答案
  4. sysadmin默认密码_从sysadmin过渡到DevOps工程师的案例
  5. NumPy Beginner's Guide 2e 带注释源码 九、使用 Matplotlib 绘图
  6. 【elasticsearch】ES启动报错 uncaught exception in thread [main]org.elasticsearch.bootstrap.Startup
  7. MySQL数据库MyISAM和InnoDB存储引擎的比较
  8. [UVA1374]Power Calculus【迭代加深】
  9. 网络地址转换 NAT
  10. Gerrit代码提交: [remote rejected] prohibited by gerrit: ref update access denied报错解决
  11. 2019语言与智能技术竞赛
  12. 2020年中国不支持苹果_苹果2020年9月事件提示
  13. 下载软件时的X86和X64的区别
  14. Dfinity(icp)参考命令及规范-7
  15. uniapp获取用户数据昵称为“微信用户”(小程序)@杨章隐
  16. STM32-增量式旋转编码器测量
  17. 数字IC验证方法的分类
  18. 欧几里得距离和曼哈顿距离
  19. 解决Windows10开机黑屏问题
  20. 椭圆一般式方程面积求解

热门文章

  1. 计算机存储单位b代表,计算机存储单位B、KB、MB、GB、TB、PB、EB
  2. 字符串格式化不整齐 与 chr(12288)
  3. Storm DRPC 使用
  4. leaflet图标跳动(leaflet篇.45)
  5. 合成大西瓜小程序小游戏源码
  6. 京东API开发系列:京东图片搜索API / item_search_img - 按图搜索京东商品(拍立淘) API 返回值说明
  7. MySQL跨服务器关联查询
  8. 名图空间实测_【图】名图:空间大油耗低,关键还直降3.8万!_汽车之家
  9. j2se、j2ee、j2me、jse、jee及jme的区别
  10. 创建Integration Services项目时,错误为0x8002801D 库没有注册