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


相关文章
|
2月前
|
存储 缓存 算法
Java 数组
【10月更文挑战第19天】Java 数组是一种非常实用的数据结构,它为我们提供了一种简单而有效的方式来存储和管理数据。通过合理地使用数组,我们能够提高程序的运行效率和代码的可读性。更加深入地了解和掌握 Java 数组的特性和应用,为我们的编程之旅增添更多的精彩。
33 4
|
2月前
|
存储 缓存 算法
提高 Java 数组性能的方法
【10月更文挑战第19天】深入探讨了提高 Java 数组性能的多种方法。通过合理运用这些策略,我们可以在处理数组时获得更好的性能表现,提升程序的运行效率。
33 2
|
2月前
|
存储 Java
Java“(array) <X> Not Initialized” (数组未初始化)错误解决
在Java中,遇到“(array) &lt;X&gt; Not Initialized”(数组未初始化)错误时,表示数组变量已被声明但尚未初始化。解决方法是在使用数组之前,通过指定数组的大小和类型来初始化数组,例如:`int[] arr = new int[5];` 或 `String[] strArr = new String[10];`。
84 2
|
2月前
|
存储 Java
什么是带有示例的 Java 中的交错数组?
什么是带有示例的 Java 中的交错数组?
53 9
|
2月前
|
Java
Java数组动态扩容和动态缩减
Java数组动态扩容和动态缩减
25 3
|
2月前
|
存储 算法 Java
Java一分钟之-数组的创建与遍历
数组作为Java中存储和操作一组相同类型数据的基本结构,其创建和遍历是编程基础中的基础。通过不同的创建方式,可以根据实际需求灵活地初始化数组。而选择合适的遍历方法,则可以提高代码的可读性和效率。掌握这些基本技能,对于深入学习Java乃至其他编程语言的数据结构和算法都是至关重要的。
30 6
|
2月前
|
存储 Java 程序员
【一步一步了解Java系列】:何为数组,何为引用类型
【一步一步了解Java系列】:何为数组,何为引用类型
30 1
|
2月前
|
存储 XML Java
如何在 Java 中将常见文档转换为 PNG 图像数组
如何在 Java 中将常见文档转换为 PNG 图像数组
17 1
|
2月前
|
存储 安全 Java
Java数组(Arrays)详解
Java 中的数组是一种用于存储固定数量同类型数据的高效数据结构,支持连续内存存储和随机访问。数组可以声明并初始化,通过索引访问和修改元素,获取长度,使用循环遍历,支持多维形式,并可通过 `Arrays` 类的方法进行复制和排序。数组具有固定大小和类型安全的特点,但需注意越界等问题。灵活运用数组能显著提升编程效率。
104 9
|
3月前
|
存储 Java 数据处理
Java 数组的高级用法
在 Java 中,数组不仅可以存储同类型的数据,还支持多种高级用法,如多维数组(常用于矩阵)、动态创建数组、克隆数组、使用 `java.util.Arrays` 进行排序和搜索、与集合相互转换、增强 for 循环遍历、匿名数组传递以及利用 `Arrays.equals()` 比较数组内容。这些技巧能提升代码的灵活性和可读性,适用于更复杂的数据处理场景。
42 10