如何在Java中打印数组

本文概述

  • Java for循环
  • Java for-each循环
  • Java Arrays.toString()方法
  • Java Arrays.deepToString()方法
  • Java Arrays.asList()方法
  • Java Iterator接口
  • Java Stream API
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 arrayint arr[]=new int[4]; //initializing elements arr[0]=10; arr[1]=20; arr[2]=70; arr[3]=40; //traversing over array using for loopfor(int i=0; i< arr.length; i++) //length is the property of the arraySystem.out.println(arr[i]); }}

输出:
10207040

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); }}}

输出:
DelhiJaipurGujaratMumbai

Java Arrays.toString()方法【如何在Java中打印数组】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 arrayint array[] = {34, -10, 56, -9, -33}; //returns string representation of the specified arraySystem.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 typefloat[][] 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 arrayString[] 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 typeDouble[] 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.52.63.74.85.9

Java Stream APIJava 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 typeString[] arr = {"Java", "C", "C++", "Python", "Perl"}; //iterating by passing the method referenceArrays.stream(arr).forEach(System.out::println); }}

输出:
JavaCC++PythonPerl

    推荐阅读