Java随堂笔记05-Java数组
2022/2/6 1:42:27
本文主要是介绍Java随堂笔记05-Java数组,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java随堂笔记05-Java数组
数组的定义
- 数组是相同类型数据的有序集合
- 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成
- 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问他们
数组初始化
int[] array = {1,2,3,4,5}; //静态初始化 int[] array = new int[10]; //动态初始化,包含默认初始化 int[0]=10; //...
数组的四个基本特点
- 其长度是确定的。数组一旦被创建,其大小就不可再被改变
- 其元素必须是相同类型的,不允许出现混合类型
- 数组中的元素可以是任何数据类型,包括基本类型和引用类型
- 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量
数组本身就是对象,Java中的对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。
多维数组
二维数组
int[4][2] array = {{1,2},{3,4},{5,6},{7,8}}; //遍历二维数组 for(int i = 0;i < array.length;i++){ for(int j = 0;i < array[i].length;j++){ System.out.print(array[i][j] + " "); } }
Arrays类
常用方法举例
Arrays.sort(a); //给a数组排序 Arrays.fill(a,0); //用0填充a数组 Arrays.fill(a,2,4,1); //用1填充a数组下标[2,4) Arrays.toString(a); //打印数组a 即将a数组的所有元素以一个String类型的字符串返回 //...
稀疏数组
public class Dome{ public static void main(String[] args) { int[][] arrays = new int[11][11]; arrays[1][2]=1; arrays[2][3]=2; System.out.println("原数组:"); for (int i = 0; i <arrays.length ; i++) { for (int j = 0; j <arrays[i].length ; j++) { System.out.print(arrays[i][j]+"\t"); } System.out.println(); } int sum=0; for (int i = 0; i <arrays.length ; i++) { for (int j = 0; j <arrays[i].length ; j++) { if(arrays[i][j]!=0){ sum++; } } } int[][] arrays2 = new int[sum+1][3]; arrays2[0][0]=arrays.length; arrays2[0][1]=arrays.length; arrays2[0][2]=sum; int count = 0; for (int i = 0; i <arrays.length ; i++) { for (int j = 0; j <arrays[i].length ; j++) { if(arrays[i][j]!=0){ count++; arrays2[count][0]=i; arrays2[count][1]=j; arrays2[count][2]=arrays[i][j]; } } } System.out.println("===================="); System.out.println("稀疏数组:"); for (int i = 0; i <arrays2.length ; i++) { for (int j = 0; j <arrays2[i].length ; j++) { System.out.print(arrays2[i][j]+"\t"); } System.out.println(); } System.out.println("==========================="); System.out.println("复原后:"); int[][] arrays3 = new int[arrays2[0][0]][arrays2[0][1]]; for (int i = 1; i < arrays2.length ; i++) { arrays3[arrays2[i][0]][arrays2[i][1]] = arrays2[i][2]; } for (int i = 0; i <arrays3.length ; i++) { for (int j = 0; j <arrays3[i].length ; j++) { System.out.print(arrays3[i][j]+"\t"); } System.out.println(); } } }
结果:
这篇关于Java随堂笔记05-Java数组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略