关于java中的数组
前言:最近刚刚看完了《Java编程思想》中关于数组的一章,所有关于Java数组的知识,应该算是了解的差不多了。在此再梳理一遍,以便以后遇到模糊的知识,方便查阅。
Java中持有对象的方式,大概有三种:通过对象的Field去持有一个对象(通过组合的方式),通过数组,通过集合容器。这里先看一下通过数组与集合容器持有对象的不同,通过数组持有对象一般是明确我要持有对象的类型,也就是说数组用来持有同一种类型的对象,在jdk1.5之前,相对于集合容器来说,这是数组的一大优点,因为在没有引入泛型之前,可以把任意类型的对象都丢进集合容器中,当把一个对象丢进容器之后,这个对象的类型在运行时,就很难知道了,要想再次使用这个对象,就要进行不安全的向下转型(丢进集合中的对象被向上转型为Object),在jdk1.5引入泛型之后,集合容器也能只持有同一种类型的对象了,所以数组的这一个优势在jdk1.5之后丧失了。相对于集合容器,数组还有一大劣势,就是一个数组对象创建之后,这个数组的大小就固定了,在后续的对于这个数组的操作中,不能扩展这个数组的长度。对于集合容器,创建一个集合容器对象时,无需说明集合容器的大小,想放多少对象在集合中都行。至此,貌似一切都在暗示:集合比数组更方便,数组能做的集合照样可以完成。其实就是这样的,《Java编程思想》的作者也建议:能用集合就不用数组。但是数组作为一个轻量级的持有对象的数据类型,在代码中还是很常见。
其实要想彻底理解数组,只要理解数组作为一种数据类型,在内容中是如何存储的。这样无论是数组的创建,还是初始化,还是数组元素的赋值...都好理解。
(图一张)
1.数组对象的创建:
数组变量的申明有两种方式: int a[] 和 int[] a ,推荐使用后者,因为可以明确这就是一个装有int值的数组。
数组作为一种引用类型的数据类型,数组变量存放的数组对象在堆内存中的引用地址。
一维基本类型的数组:
转载于:https://www.cnblogs.com/wangliyue/p/4103511.html
关于java中的数组相关推荐
- java数组创建后大小能改变吗,在Java中,数组创建成功以后,其大小(??? )(能/不能)改变...
在Java中,数组创建成功以后,其大小(??? )(能/不能)改变 答: 不能 新民主主义革命最基本的动力是(). 答:中国无产阶级 病人,男性,36岁.尿蛋白(++++),全身水肿1个月,测血压16 ...
- 四十三、深入Java中的数组流,数据流和对象流操作
@Author:Runsen @Date:2020/6/8 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...
- Java中 byte[]数组序列化和fastjson序列化区别
Java中 byte[]数组序列化和fastjson序列化区别 Java中,对于对象可以通过序列化成byte数组或者序列化成json形式,这里做下两者的对比. 首先看下实现方式: 1 byte数组序列 ...
- Java中遍历数组使用foreach循环还是for循环?
这篇文章主要介绍了Java中遍历数组使用foreach循环还是for循环?本文着重讲解for语句的语法并给出使用实例,同时总结出尽量使用foreach语句遍历数组,需要的朋友可以参考下 从JDK1.5 ...
- java 静态对象数组_Java静态方法和实例方法 java中的数组作为形参传入
原标题:Java静态方法和实例方法 java中的数组作为形参传入 Java静态方法和实例方法 java中的数组作为形参传入 Java虚拟机 启动一个Java程序的时候,会诞生一个虚拟机实例,当程序关闭 ...
- Java中的数组数据结构需要了解的要点
首先,数组是Java中的对象.它们不是像int.short或long这样的基本类,也不是具有很多方法的全功能对象,但由于它们是对象,所以它们隐式地扩展了Object,这就是为什么可以使用数组引用(例如 ...
- Java中创建数组的几种方法
Java中创建数组的几种方法 public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intVa ...
- java矩阵加法_在java中的数组加法?
我到目前为止有一个程序要求用户选择一些元素.该程序然后要求用户选择数量由元素数量指示的次数.我将如何使用数组以及while或for循环找到这组数字的方差.我在高中时没有什么特别的感觉.下面是我当前的代 ...
- java面试题24 关于Java中的数组,
java面试题24 关于Java中的数组,下面的一些描述,哪些描述是准确的:( ) A 数组是一个对象,不同类型的数组具有不同的类 B 数组长度是可以动态调整的 C 数组是一个连续的存储 ...
- [转载] Java中Array(数组)转List(集合类)的几种方法
参考链接: Java中的数组类Array 1.循环.新建List类,循环填充. 2.利用Arrays类的静态方法asList(). Arrays.asList(T[])返回Arrays类的一个内部内L ...
最新文章
- 事件绑定在IE下this是window的问题
- C++ 中const的用法,特别是用在函数前面与后面的区别!
- SpringMVC-Controller怎么直接在页面上传递参数
- python tkinter chk
- 计算机英语一级考试试题,全国计算机一级考试试题及答案
- SpringCloud创建Config Client通过Eureka访问Config
- sed命令 linux下的超强查找和替换命令
- 阶段3 2.Spring_03.Spring的 IOC 和 DI_11 set方法注入
- [Chrome插件开发]监听网页请求和响应
- 关键词策略 —关键词选择
- 依据前端传递的数字等生成二维码图片
- [4G+5G专题-137]: 终端 - 射频前端(滤波器、功率放大器)详解
- 一个浪漫又悲情的爱情故事——笛卡尔心形线
- 商人过河问题c语言图片,商人渡河问题图解法.doc
- win的反义词_初中英语常见的同义词、反义词汇总
- word参考文献交叉引用的多项引用,改逗号和破折号形式
- 每日学到 20 - 封装、访问修饰符
- 海康摄像头视频实时监控
- 司新颖:瑞星的午餐有点甜
- ETL开发工程师|上海