个性化阅读
专注于IT技术分析

如何在Java中打印数组

点击下载

本文概述

Java数组是一种数据结构, 我们可以在其中存储相同数据类型的元素。数组的元素存储在连续的存储位置中。因此, 我们可以在数组中存储一组固定的元素。

有以下几种在Java中打印数组的方法:

  • Java for循环
  • Java for-each循环
  • Java Arrays.toString()方法
  • Java Arrays.deepToString()方法
  • Java Arrays.asList()方法
  • Java迭代器接口
  • Java Stream API

Java for循环

Java for循环用于重复执行一组语句, 直到满足特定条件为止。

句法:

for(initialization; condition; increment/ decrement)
{
//statements
}

for循环的例子

在下面的示例中, 我们创建了一个长度为4的数组, 并在其中初始化了元素。我们已使用for循环从数组中获取值。这是Java中最流行的数组打印方式。

public class PrintArrayExample1
{  
public static void main(String args[])
{  
//declaration and instantiation of an array
int arr[]=new int[4];	
//initializing elements 
arr[0]=10;
arr[1]=20;  
arr[2]=70;  
arr[3]=40;  
//traversing over array using for loop
for(int i=0;i<arr.length;i++)	//length is the property of the array
System.out.println(arr[i]);  
}
}

输出:

10
20
70
40

Java for-each循环

Java for-each循环还用于遍历数组或集合。它基于元素而工作。它在定义的变量中一一返回元素。

句法:

for(Type var:array)

for-each循环的示例

在下面的示例中, 我们创建了一个长度为4的String类型的数组, 并在其中初始化了元素。我们使用了for-each循环遍历数组。

public class PrintArrayExample2
{
public static void main(String args[]) 
{
// declaration and instantiation of an array 
String[] city = new String[4];
//initializing elements 
city[0] = "Delhi";
city[1] = "Jaipur";
city[2] = "Gujarat";
city[3] = "Mumbai";
//traversing over array using for-each loop 
for (String str : city) 
{
System.out.println(str);
}
}
}

输出:

Delhi
Jaipur
Gujarat
Mumbai

Java Arrays.toString()方法

Java Arrays.toString()是Arrays类的静态方法, 属于java.util包。它包含用于操纵数组的各种方法。

句法:

public static String toString(int[] a)

它接受任何原始类型的数组作为参数。它返回一个包含数组元素列表的数组的字符串表示形式。数组的元素通过String.valueOf(int)转换为String。

toString()方法的示例

import java.util.Arrays;
public class PrintArrayExample3
{
public static void main(String[] args)
{
//declaring and initializing array
int array[] = {34, -10, 56, -9, -33};
//returns string representation of the specified array
System.out.println(Arrays.toString(array));
}
}

输出:

[34, -10, 56, -9, -33]

Java Arrays.deepToString()方法

Java Arrays类的deepToString()方法旨在将多维数组转换为字符串。

句法:

public static String deepToString(Object[] a)

它接受一个数组作为参数。它返回数组的String表示形式。

deepToString()方法的示例

在下面的示例中, 我们创建了一个浮点类型的二维数组。

import java.util.Arrays;
public class PrintArrayExample4 
{
public static void main(String[] args) 
{
//declaration and initialization of two dimensional array of float type
float[][] array = {{1.2f, 2.5f}, {3.9f, 4.0f}, {5.3f, 6.2f}};
System.out.println(Arrays.deepToString(array));
}
}

输出:

[[1.2, 2.5], [3.9, 4.0], [5.3, 6.2]]

Java Arrays.asList()方法

Java Arrays.asList()是Java Arrays类的静态方法, 该类属于java.util包。它充当基于数组的API和基于集合的API之间的桥梁。

句法:

public static <T> List<T>asList(T...a)

该方法还提供了一种创建固定大小的列表的初始化的简便方法, 该列表初始化为包含许多元素。

List<T> obj=Arrays.toString(array[] a

它接受一个数组作为参数。它返回数组的列表视图。

asList()方法的示例

import java.util.Arrays;
public class PrintArrayExample5
{
public static void main(String [] args)
{
//declaration and initialization of two dimensional array
String[] stringArray={"Hello", "Java", "Programmers"};
System.out.println(Arrays.asList(stringArray));
}

输出:

[Hello, Java, Programmers]

Java Iterator接口

Java Iterator是属于java.util包的接口。可以通过调用iterator()方法来创建Iterator对象。它存在于Collection界面中。它返回一个迭代器。

Iterator接口示例

在下面的示例中, 我们声明了一个数组并将其初始化为元素。我们首先使用Arrays.asList()方法将指定的数组转换为列表, 因为迭代器允许我们遍历集合, 然后调用集合类的iterator()方法。

import java.util.Arrays;
import java.util.Iterator;
public class PrintArrayExample6
{
public static void main(String[] args) 
{
//declaration and initialization of an array of Double type
Double[] array = { 1.5, 2.6, 3.7, 4.8, 5.9};
//returns an iterator 
Iterator<Double> it = Arrays.asList(array).iterator();
while(itr.hasNext()) //returns a boolean value
{
System.out.println(itr.next());
}
}
}

输出:

1.5
2.6
3.7
4.8
5.9

Java Stream API

Java Stream是按需计算的数据结构。它不存储数据。它对源数据结构(例如集合和数组)进行操作。 Java流API用于实现内部迭代。它提供了一些功能, 例如顺序执行和并行执行。

Java stream()方法

Java stream()是Java Arrays类的静态方法, 该类属于java.util包。它用于获取数组的顺序流。

句法:

public static <T>Stream stream(T[] array)

其中T是数组的类型。该方法接受一个数组, 其元素将转换为顺序流。它返回一个以指定数组为源的顺序IntStream。

Java forEach()方法

这是一个终端操作。它不能保证尊重流的遇到顺序。

句法:

void forEach(Consumer<? super T> action)

该方法接受一个动作作为参数。它是对每个元素执行的不干扰动作。它不返回任何东西。

我们可以将两个终端操作应用于流以打印数组。

获取流的迭代器

Iterator it=Arrays.stream(arr).iterator();

使用stream()。forEach()

Arrays.stream(arr).forEach(System.out::println);

stream.forEach()方法的示例

在下面的示例中, 我们使用了另一种方式来打印数组。 forEach()方法用于迭代流的每个元素。它在Iterable and Stream接口中定义。

在forEach()方法内部, 我们使用了System.out, 它是对对象的引用。它代表标准输出流。它具有一个称为println()的方法。它是一个重载方法, 可以接受任何内容作为参数。当我们将println()方法放在成员访问运算符(::)之后时, 它成为一个表达式。

import java.util.Arrays;
public class PrintArrayExample7
{
public static void main(String[] args) 
{
//declaration and initialization of an array of String type
String[] arr = {"Java", "C", "C++", "Python", "Perl"};
//iterating by passing the method reference
Arrays.stream(arr).forEach(System.out::println);
}
}

输出:

Java
C
C++
Python
Perl

赞(0)
未经允许不得转载:srcmini » 如何在Java中打印数组

评论 抢沙发

评论前必须登录!