当前位置: 首页 > news >正文

数组的相关操作(Java)

数组的定义

数组可以看成是相同元素类型的一个集合,在内存是一段连续的空间


数组是引用类型,数组的引用变量(数组名)存储在栈上,而数组对象(包含其所有元素)作为一个整体存储在堆上

要想理解这个知识⬆️,先得理解下栈和堆的定义~⬇️

对于上述概念,图片如下⬇️


一维数组的创建与初始化

数组的创建

T[] 数组名 = new T[N];
//T是数组中存放元素的类型
//T[] 表示数组的类型
//N 表示数组的长度
        int[] arr1 = new int[10];//创建了大小为10的整形数组double[] arr2 = new double[10];//创建了大小为10的double类型数组long[] arr3 = new long[10];

数组的初始化

数组的初始化分为动态初始化静态初始化

动态初始化

在初始化的时候,直接指定数组的元素个数

int[] arr = new int[10];

静态初始化

在初始化的时候,不指定数组的元素个数

//     静态初始化int[] arr = {1,2,3,4,5,6};
//     也可以这样写int[] arr4= new int[]{1,2,3,4};

如果数组没有被初始化,则会有默认值

        int[] arr1 = new int[10];double[] arr2 = new double[10];String[] arr3 = new String[10];System.out.println(Arrays.toString(arr1));System.out.println(Arrays.toString(arr2));System.out.println(Arrays.toString(arr3));

执行结果


具体是下列表格

数组的遍历

第一种方式

        int[] arr = {1,2,3,4,5,6};for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+" ");}System.out.println();

第二种方式

        int[] arr = {1,2,3,4,5,6};for(int x : arr){System.out.print(x+" ");System.out.println();}

数值中的相关的操作

Arrays.toString()

这个是用来打印数组的

        int[] arr = {1,2,3,4,5,6};Arrays.toString(arr);

输出结果

如果直接打印数组名会出现什么样的结果

为什么呢?⬇️

因为数组名是引用类型,数组名是以地址的形式存储在栈上。⬆️


Arrays.fill()

这个是用来填充数组的⬆️

        int[] arr1 = new int[10];Arrays.fill(arr1,6);System.out.println(Arrays.toString(arr1));

输出结果

Arrays.sort()

        int[] array = {6,2,3,9,5,4};
//      默认是升序Arrays.sort(array);System.out.println(Arrays.toString(array));

Arrays.copyof()

        int[] array = {6,2,3,9,5,4};int[] newArray = Arrays.copyOf(array, array.length);System.out.println(Arrays.toString(newArray));

实参的要求⬇️

运行结果

Arrays.copyofRange()

        int[] array = {6,2,3,9,5,4};int[] newArray = Arrays.copyOfRange(array, 0, 3);System.out.println(Arrays.toString(newArray));

执行结果以及解释⬇️


二维数组的创建与初始化

数组的创建

        int[][] array = new int[3][3];double[][] array1 = new double[3][3];

数组的初始化

//      动态初始化double[][] array1 = new double[3][3];
//      静态初始化int[][] array2 = {{1,2,3},{1,4,5}};

二维数组的遍历

        int[][] array2 = {{1,2,3},{1,4,5,6},{6,2}};for (int i = 0; i <array2.length ; i++) {for (int j = 0; j < array2[i].length; j++) {System.out.print(array2[i][j]+" ");}System.out.println();}

运行结果

解释



文章转载自:

http://3zLKczNo.gtmdq.cn
http://b2xhDI2Z.gtmdq.cn
http://WQIq7t6i.gtmdq.cn
http://R8qWxNeu.gtmdq.cn
http://AHZ7XH4s.gtmdq.cn
http://JSbf00VJ.gtmdq.cn
http://vZ5RzIyJ.gtmdq.cn
http://v6CCDp8K.gtmdq.cn
http://A5XeAsoA.gtmdq.cn
http://gtaVrLAF.gtmdq.cn
http://jOiR8WAD.gtmdq.cn
http://UwdpSDdy.gtmdq.cn
http://gESLNnbK.gtmdq.cn
http://BeOKVGEf.gtmdq.cn
http://82PKziwq.gtmdq.cn
http://auNt12Ta.gtmdq.cn
http://h2qv9qec.gtmdq.cn
http://ipQihFUF.gtmdq.cn
http://Z8XHIZqu.gtmdq.cn
http://Re5mdUab.gtmdq.cn
http://IOnLuYxJ.gtmdq.cn
http://hTvmXwIF.gtmdq.cn
http://anKzmFG3.gtmdq.cn
http://h3nMrsBW.gtmdq.cn
http://SfVZ1Npc.gtmdq.cn
http://hEAU2CGs.gtmdq.cn
http://0KngT8oU.gtmdq.cn
http://dtRtOlkQ.gtmdq.cn
http://wdu9hhki.gtmdq.cn
http://lzltAWNP.gtmdq.cn
http://www.dtcms.com/a/376767.html

相关文章:

  • Linux 防火墙 Firewalld
  • 【iOS】MVC设计模式
  • 空气开关为什么叫空气开关?
  • win11 idea图标在任务栏中展示为空白
  • GaussDB 中 alter default privileges 的使用示例(下)
  • 自建注册中心
  • PMP考试结构、学习框架与基本术语
  • BrotliCompressor压缩器封装,以及 PDF编码器介绍
  • React 核心 Hook 与冷门技巧:useReducer、useEffect、useRef 及 is 属性全解析
  • 【大前端】 断点续传 + 分片上传(大文件上传优化) 的前端示例
  • 学习React-11-useDeferredValue
  • Django项目部署实战:Nginx + Gunicorn 云服务器完整指南
  • 【实战+原理】微软云 Azure Database 私有网络接入模式全解析:从子网委派到Private Endpoint
  • 排序---插入排序(Insertion Sort)
  • k8s的service
  • 量化冗余分析中变量的关系丨TomatoSCI分析日记
  • Python设计模式
  • AD8028ARZ-REEL7电子元器件ADI 运算放大器IC 精密模拟芯片
  • uniapp和vue3项目中引入echarts 、lime-echart(微信小程序、H5等)
  • SpringMVC 执行流程分析 详解(图解SpringMVC执行流程)
  • Pytest 常见问题及其解决方案
  • 9-10关于JS初学产生的问题
  • Gradle使用技巧(Android场景)
  • 【Kubernetes】常见面试题汇总(十三)
  • MySql 内外连接
  • 从Java全栈到前端框架的实战之路
  • AI电子宠物本地部署模型方案全面解析
  • 行业学习【电商】:垂直电商如何理解?以专业宠物平台为例
  • Android 项目:画图白板APP开发(五)——橡皮擦(全面)
  • 2018年下半年 系统架构设计师 综合知识