Java中数组详解

简介: Java中数组详解

 简介

数组是相同类型数据的有序集合,每一个数据称作一个元素,每个元素可以通过一个索引来访问

特性

1.长度确定:数组一旦被创建,它的大小就是不可以改变的

2.同一数组同一类型:同一数组其元素的类型必须是相同类型,不允许出现混合类型

3.元素不同类型:数组类型可以是任何数据类型,包括基本类型和引用类型

4.数组也是对象,数组变量属于引用类型,数组中的元素相当于对象的属性!

创建及初始化一维数组【必须指定长度】

int[] ages = new int[10];//创建数组
ages[0] = 1;//动态初始化,给数组元素赋值

image.gif

Man[] mans = {new Man(1, 1), new Man(2, 2)};// 静态初始化引用类型数组

image.gif

创建及初始化二维数组【必须指定二维长度】

int[ ][ ] a = new int[3][ ];//创建二维数组,Java中多维数组的声明和初始化应按从低维到高维的顺序进行
a[0] = new int[2];
a[1] = new int[4];
a[2] = new int[3];

image.gif

默认初始化

int[] a = new int[2]; // [0,0]
String[ ] s = new String[2]; //[null, null ]
boolean[ ] b = new boolean[2]; //[false,false]

image.gif

遍历

1.for循环

int[] a = new int[4];
for (int i = 0; i < a.length; i++) {
     System.out.println(a[i]);
}

image.gif

2.for-each

String[] ss = {"aa", "bbb", "ccc", "ddd"};
for (String temp : ss) {
      System.out.println(temp);
}

image.gif

方法

1.数组的长度

nums.length

image.gif

2.拷贝

int[] n1={1,2,3};
int[] n2=new int[8];
System.arraycopy(n1,0,n2,0,n1.length);

image.gif

3.打印内容

int[] n1={1,2,3};
System.out.println(n1);//[I@7c30a502
System.out.println(Arrays.toString(n1));//[1, 2, 3]

image.gif

4.排序

int[] n1={2,1,3};
Arrays.sort(n1);
System.out.println(Arrays.toString(n1));//[1, 2, 3]

image.gif

5.二分法查找

int[] n1={2,1,3};
Arrays.sort(n1);
System.out.println(Arrays.binarySearch(n1,3));

image.gif

6.填充

int[] n1={2,1,3};
 Arrays.fill(n1,0,2,100);//将0-1替换为100
 System.out.println(Arrays.toString(n1));//[2, 100, 3]

image.gif


相关文章
|
5天前
|
存储 Java 程序员
Java 数组
4月更文挑战第16天
|
1天前
|
并行计算 Java API
Java 8中的接口默认方法和静态方法以及并行数组
【5月更文挑战第19天】Java 8引入了许多新特性,其中包括接口的默认方法和静态方法,以及并行数组的能力。这些特性增强了Java的面向对象编程模型和数组处理能力。让我们深入了解它们的概念和实践。
18 2
|
2天前
|
算法 搜索推荐 Java
滚雪球学Java(33):数组算法大揭秘:应用案例实战分享
【5月更文挑战第8天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
29 8
滚雪球学Java(33):数组算法大揭秘:应用案例实战分享
|
3天前
|
存储 Java 测试技术
滚雪球学Java(32):如何理解和实现稀疏数组
【5月更文挑战第7天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
14 1
滚雪球学Java(32):如何理解和实现稀疏数组
|
5天前
|
搜索推荐 算法 Java
滚雪球学Java(29):数组长度和排序算法:让你的程序更高效
【5月更文挑战第4天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
13 0
滚雪球学Java(29):数组长度和排序算法:让你的程序更高效
|
5天前
|
存储 Java
滚雪球学Java(28):轻松掌握数组:访问和遍历技巧
【5月更文挑战第3天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
13 2
滚雪球学Java(28):轻松掌握数组:访问和遍历技巧
|
5天前
|
存储 Java 索引
【Java开发指南 | 第十六篇】Java数组及Arrays类
【Java开发指南 | 第十六篇】Java数组及Arrays类
10 3
|
5天前
|
存储 算法 搜索推荐
滚雪球学Java(27):从零开始学习数组:定义和初始化
【5月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
12 3
滚雪球学Java(27):从零开始学习数组:定义和初始化
|
5天前
|
Java
解析java中的数组
解析java中的数组
15 3
|
5天前
|
存储 安全 Java
Java一分钟之-数组的创建与遍历
【5月更文挑战第8天】本文介绍了Java中数组的基本概念、创建与遍历方法,强调了类型匹配和数组越界问题。示例展示了如何创建整数数组并初始化元素,同时提供了避免数组越界的策略。对于遍历,文章提到了for循环和增强型for循环,并给出了防止错误的建议,如正确声明类型、初始化数组、安全索引操作及使用合适的数据结构。遵循这些指导可帮助开发者有效管理Java数组并减少错误。
20 0