Java中的数组:你需要知道什么?

已发表: 2020-11-30

目录

介绍

看过java的原始数据类型之后,很多人都会有一个疑问,我们可以在磁盘中顺序存储多个条目吗? java中的数组将是我们查询的答案。

数组是一种数据结构,它按顺序存储相同数据类型的条目。 数组减少了代码的重复并使其变得简单。 当我们想要存储相当多的值时,比如 50 个值,然后将每个值分配给一个变量,这与代码的简单性相矛盾。

数组克服了这个问题,我们可以将所有这些值分配给单个数组,但请记住,数组只能存储相同数据类型的值。

让我们开始吧!

声明和初始化

要使用数组,我们需要声明它,并且我们必须指定要存储在数组中的变量的数据类型。 与所有编程语言类似,java 也有声明要遵循的语法。

int [] 数组; //type1

整数数组[]; //type2

如上面的代码片段所示,我们可以通过两种方式声明一个数组。 “Type2”是一种从 c/c++ 借来的声明数组的传统方式。 一旦我们完成声明一个数组,我们需要创建一个新数组,这可以通过使用 new 关键字来完成。

创建数组的语法如下“data_type[] array = new array[array_length]”。 我们需要在创建时指定数组的长度,创建后无法增加大小。

通过指定长度创建数组后,它只是将一个空数组分配给该变量,我们可以稍后将值推送到其中。 让我们来看看它的代码。

整数[] 数组=整数[ 10 ]; //声明和

//创建一个新数组

//赋值

数组[ 0 ] = 1 ;

数组[ 1 ] = 5 ;

数组[ 8 ] = 9 ;

//方法二

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

系统 出来 打印( int [ 0 ]);

最初,整数数组中的所有位置都用零填充,我们可以通过在方括号中提及索引来用我们的值覆盖这些值。 在上面的代码片段中,“方法 2”是另一种创建数组的方法。

循环遍历数组

我们可以使用 for 循环或 while 循环来循环数组,每次迭代都会增加索引。 请记住,访问索引大于数组长度的元素将引发异常。

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

for ( int i = 0 ;i < 5 ;i ++ ){

系统 出来 打印(数组[i] + );

}

上面的代码片段打印“1 2 3 4 5”作为输出。

还有另一个有趣的循环称为“for-each 循环”,用于迭代循环。

浮动[] 数组= { 1.2f , 2.3f , 3.4f , 4.5f , 5.6f };

for (浮动f :数组){

系统 出来 打印(f + );

}

上面的代码片段显示了 for-each 循环的实现,其中变量 float 在每次迭代时将值更改为数组中的下一个条目。 此实现不需要任何索引变量。

结帐: Java 中的完整 ArrayList:你需要知道的

预定义方法

java 中的 Arrays 类带有许多预定义的方法,这些方法被推广到所有原始数据类型。 例如,如果我想对一个包含所有整数的数组和一个包含所有浮点数的数组进行排序,那么我可以对这两种情况使用相同的方法。

让我们来看看一些预定义的数组方法。

  • 种类()

此方法按升序对给定数组进行排序并更新已排序的数组,正如已经讨论过的,此方法对 java 中的所有原始数据类型都进行了重载。 这个公共方法不返回任何东西,因为它是 void 返回类型。

Arrays.sort(array_name) 是要遵循的语法。

浮动[] 数组= { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f };

数组 排序(数组);

for (浮动f :数组){

系统 出来 打印(f + );

}

上面的代码片段将按预期打印“1.3 2.2 3.5 5.4 7.6”。

  • 充满()

这个方法用我们在函数调用中传递的变量填充数组。 此方法替换了循环遍历数组并将值分配给该位置的简单实现。

Arrays.fill(array_name, value) 是要遵循的语法。

浮动[] 数组= { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f };

数组 填充(数组, 9.8f );

for (浮动f :数组){

系统 出来 打印(f + );

}

上面的代码片段将用 9.8 替换数组中的所有条目。

  • 等于()

此方法需要两个数组作为参数,如果数组 1 中的所有元素都等于数组 2 中的所有元素,则返回 true。请记住,如果两个数组的长度不同,或者元素的顺序不同,则此方法返回 false .

Arrays.equals(array_1, array_2) 是要遵循的语法。

浮动[] array1 = { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f };

浮动[] array2 = { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f };

浮动[] array3 = { 2.2f , 1.3f , 3.5f , 5.4f , 7.6f };

系统 出来 println(数组等于(array1,array2)); //第1行

系统 出来 println(数组等于(array1,array3)); //第2行

上面的代码段将为 line1 打印 True,为 line2 打印 False

要进一步了解 java 中的各种数组方法,请查看他们的文档

在方法中访问数组

如果我们不能在函数中使用数组,那么数组将毫无用处。 但是Java从不让你失望,我们可以传递一个数组,返回一个数组,并在java函数中使用一个数组。

让我们来看看它们。

当我们想要将数组传递给 Java 函数时,我们需要在函数声明中指定数组的数据类型。 这几乎类似于将原始数据类型传递给函数。 同样,当我们返回一个数组时,我们需要以数组为返回类型声明该数组。

公共静态浮点[] 排序(浮点[] 数组){

数组 排序(数组);

返回数组;

}

公共静态无效主要(字符串参数[]){

浮动[] array1 = { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f };

浮动[]数组 2 =排序(数组 1);

对于浮动f array2)

系统 出来 打印(f + );

}

上面的代码片段按预期打印“1.3 2.2 3.5 5.4 7.6”。

阅读: MATLAB 数据类型:您需要知道的一切

结论

现在您已经了解了 java 中的数组。 了解数组的初始化和声明。 探索了遍历数组的各种方法。 浏览了一些预定义的数组方法并在方法中访问数组。 您在 java 中拥有一个有用的数据结构,现在就开始使用它吧!

如果您有兴趣了解有关 Java、OOP 和全栈软件开发的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发 PG 文凭,该文凭专为在职专业人士设计,提供 500 多个小时的严格培训,9 + 项目和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

为未来的职业做准备

行业值得信赖的学习 - 行业认可的认证。
了解更多