Java 数组总结

Java 数组总结

数组是 Java程序中最常见的一种数据结构,它能够将相同类型的数据用一个标识符封装到一起,构成一个对象序列或基本数据类型。

数组属于复合数据类型,一个数组可以拥有多个数组元素,这些数组元素可以是基本数据类型或复合类型。按照数组元素类型的不同,数组可以分为数值数组、字符数组、指针数组、结构数组等各种类型。按照数组内的维数来划分,可以将数组分为一维数组和多维数组。

1.一维数组

1.1.声明一维数组

数组本质上就是某类元素的集合,每个元素在数组中都拥有对应的索引值,只需要指定索引值就可以取出对应的数据。在Java 中声明一维数组的格式如下:

int[] array;

也可以如下:

int array[];

1.2.创建一维数组

创建数组实质上就是为数组申请相应的存储空间,数组的创建需要用大括号“{}”括起来,然后将一组相同类型的数据放在存储空间里,Java 编译器负责管理存储空间的分配。创建一维数组的方法十分简单,具体格式如下所示。

int[] a={1,2,3,4,5};

1.3.初始化一维数组

在 Java 程序里,一定要将数组看作一个对象,它的数据类型和前面的基本数据类型相同。很多时候我们需要对数组进行初始化处理,在初始化的时候需要规定数组的大小。当然,也可以初始化数组中的每一个元素。下面的代码演示了3种初始化一维数组的方法。

int[] a=new int[8];
int[] a=new int{1,2,3,4,5,6,7,8};
int[] a={1,2,3,4};

在初始化数组的时候,当使用关键字new 创建数组后,一定要明白它只是一个引用,知道将值赋给引用,开始进行初始化操作后才算真正结束。

2.二维数组

2.1.声明二维数组

我们可以把二维数组看作一种特殊的一维数组,其中的每个元素又是一个数组。声明二维数组的语法格式如下所示:

float A[][];
char B[][];
int C[][];

2.2.创建二维数组

创建二维数组的过程,实际上就是在计算机上申请一块存储空间的过程,例如:

int A[][]={{1,3,5},{2,4,6}};

2.3.初始化二维数组

使用下面的语法格式实现:

array = new int[]...[]{第一个元素的值,第二个元素的值,第三个元素的值,...}

或者用对象数组的语法来实现

array=new int[]...[]{new 构造方法(参数列),{new 构造方法(参数列)}}

3.三维数组

3.1.声明三维数组

声明三维数组如下:

float a[][][];

3.2.创建三维数组

int[][][] a=new int[2][2][3]

上述代码创建了一个2×2×3的三维数组。

3.3.初始化三维数组

int[][][] a={{{1,2,3},{4,5,6}},{{7,8,9},{10,11,12}}};

4.操作数组

4.1.复制数组

复制数组是指复制数组中的数值,在 Java中可以使用 System的方法 arraycopy()实现数组复制功能。方法 arraycopy() 语法格式如下:

System.arraycopy(arrayA,0,arrayB,0,a.length);
  • arrayA:来源数组名称
  • 0:来源数组的起始位置
  • arrayB:目的数组名称
  • 0:目的数组名称
  • a.length:要从来源数组复制的元素个数

4.2.比较数组

比较数组就是检查两个数组是否相等。如果相等,则返回布尔值 true;如果不相等,则返回布尔值 false。在Java中可以使用方法 equals()比较数组是否相等,具体格式如下所示:

Arrays.equals(arrayA,arrayB);
  • arrayA:待比较数组的名称
  • arrayB:待比较数组的名称

如果两个数组相等,就会返回true;如果不相等,则返回false

在比较数组的时候,一定要在程序的前面加一句 “import java.util.Arrays”,否则程序会自动报错。

4.3.排序数组

排序数组是指对数组内的元素进行排序,在 Java 中可以使用方法 sort() 实现排序功能,并且排序规则是默认的。

Arrays.sort(a);

参数a是待排序数组的名称。

import java.util.Arrays;
public class shuzugong6{
    public static void main(String[] args){
        String[] a = new String[]{"123","XYZ","ABCD","256"};
        //初始化数组a的元素,其中既有数字,也有字母
        Arrays.sort(a);	//对数组a中的元素进行排序
        System.out.println(Arrays.asList(a));// 输出排序后的结果
    }
}

/*
最终输出结果为 [123,256,ABCD,XYZ]
*/

上述代码中用到了方法 Arrays.asList(),此方法返回由指定数组支持的固定大小的列表,充当基于数组的集合和基于 API 之间的桥梁。

4.4.搜索数组中的元素

在 Java中可以使用方法 binarySearch()搜索数组中的某个元素,语法格式如下所示。

int i=binarySearch(a,"abcde");// i得到的是索引位置
  • a:要搜索的数组的名称
  • abcde:需要在数组中查找的内容

4.5.填充数组

在 Java 程序设计里,可以使用 fill()方法向数组中填充元素。fill()方法的功能十分有限,只能使用同一个数值进行填充。使用fill()方法的语法格式如下:

int a[]=new int[10]; 
Arrays.fill(a,11);

其中,参数 a 是指将要填充的数组的名称,上述格式的含义将数值11 填充到数组a中。a中所有的元素值都为11。

4.6.遍历数组

在 Java语言中,foreach 语句是从 Java 1.5 开始出现的新特性之一,在遍历数组和遍历集合方面,foreach为我们提供了极大的方便。从实质上说,foreach 语句是 for语句的特殊简化版本,虽然 foreach语句并不能完全取代 for 语句,但是任何 foreach 语句都可以改写为 for 语句版本。

foreach 并不是一个关键字,习惯上将这种特殊的 for 语句称为“foreach”语句。从英文字面意思理解,foreach 就是“为每一个”的意思。foreach 语句的语法格式如下所示:

for(type 变量x : 遍历对象obj){
    引用了x的Java语句;
}

其中,“type”是数组元素或集合元素的类型,“变量x”是一个形参,foreach 循环自动将数组元素,集合元素依次赋给变量x。

使用foreach 循环和普通循环的不同之处是,不需要循环条件,也不需要循环迭代语句,这些部分都由系统完成,foreach 循环自动迭代数组的每个元素,当每个元素都被迭代一次后,foreach循环自动结束。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值