logo

Hoe een array in Java af te drukken

Java-array is een datastructuur waarin we de elementen van hetzelfde gegevenstype kunnen opslaan. De elementen van een array worden opgeslagen op een aaneengesloten geheugenlocatie. We kunnen dus een vaste set elementen in een array opslaan.

Er zijn de volgende manieren om een ​​array in Java af te drukken:

  • Java voor lus
  • Java voor-elk lus
  • Java Arrays.toString() methode
  • Java Arrays.deepToString() methode
  • Java Arrays.asList() methode
  • Java Iterator Koppel
  • Java Stroom API

Java voor lus

Java voor loop wordt gebruikt om een ​​reeks instructies herhaaldelijk uit te voeren totdat aan een bepaalde voorwaarde is voldaan.

interface versus abstracte klasse

Syntaxis:

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

Voorbeeld van een for-lus

In het volgende voorbeeld hebben we een array met lengte vier gemaakt en daarin elementen geïnitialiseerd. We hebben een for-lus gebruikt om de waarden uit de array op te halen. Het is de meest populaire manier om arrays in Java af te drukken.

 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 array system.out.println(arr[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> 10 20 70 40 </pre> <h2>Java for-each loop</h2> <p>Java <strong>for-each</strong> loop is also used to traverse over an array or collection. It works on the basis of elements. It returns elements one by one in the defined variable. </p> <p> <strong>Syntax:</strong> </p> <pre> for(Type var:array) </pre> <p> <strong>Example of for-each loop</strong> </p> <p>In the following example, we have created an array of String type of length four and initialized elements into it. We have used for-each loop to traverse over the array.</p> <pre> public class PrintArrayExample2 { public static void main(String args[]) { // declaration and instantiation of an array String[] city = new String[4]; //initializing elements city[0] = &apos;Delhi&apos;; city[1] = &apos;Jaipur&apos;; city[2] = &apos;Gujarat&apos;; city[3] = &apos;Mumbai&apos;; //traversing over array using for-each loop for (String str : city) { System.out.println(str); } } } </pre> <p> <strong>Output:</strong> </p> <pre> Delhi Jaipur Gujarat Mumbai </pre> <h2>Java Arrays.toString() method</h2> <p>Java <strong>Arrays.toString()</strong> is a static method of <strong>Arrays </strong> class which belongs to <strong>java.util </strong> package It contains various methods for manipulating array. </p> <p> <strong>Syntax:</strong> </p> <pre> public static String toString(int[] a) </pre> <p>It accepts an array of any primitive type as an argument. It returns a <strong>string</strong> representation of an array that contains a list of array&apos;s elements. The elements of an array are converted to String by <strong>String.valueOf(int) </strong> .</p> <p> <strong>Example of toString() method</strong> </p> <pre> 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)); } } </pre> <p> <strong>Output:</strong> </p> <pre> [34, -10, 56, -9, -33] </pre> <h2>Java Arrays.deepToString() method</h2> <p>The <strong>deepToString()</strong> method of Java Arrays class is designed for converting multidimensional arrays to strings.</p> <p> <strong>Syntax:</strong> </p> <pre> public static String deepToString(Object[] a) </pre> <p>It accepts an array as a parameter. It returns the String representation of an array.</p> <p> <strong>Example of deepToString() method</strong> </p> <p>In the following example, we have created a two dimensional array of float type. </p> <pre> 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)); } } </pre> <p> <strong>Output:</strong> </p> <pre> [[1.2, 2.5], [3.9, 4.0], [5.3, 6.2]] </pre> <h2>Java Arrays.asList() method</h2> <p>Java <strong>Arrays.asList()</strong> is a static method of Java <strong>Arrays</strong> class which belongs to <strong>java.util</strong> package. It act as a bridge between array based and collection based API. </p> <p> <strong>Syntax:</strong> </p> <pre> public static ListasList(T...a) </pre> <p>The method also provides an easy way to create a fixed-size list initialize to contain many elements.</p> <pre> List obj=Arrays.toString(array[] a </pre> <p>It accepts an array as an argument. It returns the list view of an array.</p> <p> <strong>Example of asList() method</strong> </p> <pre> import java.util.Arrays; public class PrintArrayExample5 { public static void main(String [] args) { //declaration and initialization of two dimensional array String[] stringArray={&apos;Hello&apos;,&apos;Java&apos;,&apos;Programmers&apos;}; System.out.println(Arrays.asList(stringArray)); } </pre> <p> <strong>Output:</strong> </p> <pre> [Hello, Java, Programmers] </pre> <h2>Java Iterator interface</h2> <p>Java <strong>Iterator</strong> is an interface which belongs to <strong>java.util</strong> package. The Iterator object can be created by calling iterator() method. It is present in Collection interface. It returns an iterator.</p> <p> <strong>Example of Iterator interface</strong> </p> <p>In the following, example, we have declare an array and initialize elements into it. We first convert the specified array into list by using Arrays.asList() method because iterator allows us to traverse over the collection and then invoke iterator() method of collection class.</p> <pre> 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 it = Arrays.asList(array).iterator(); while(itr.hasNext()) //returns a boolean value { System.out.println(itr.next()); } } } </pre> <p> <strong>Output:</strong> </p> <pre> 1.5 2.6 3.7 4.8 5.9 </pre> <h2>Java Stream API</h2> <p>A Java Stream is a data structure which is computed on-demand. It doesn&apos;t store data. It operates on the source data structure such as collection and array. Java stream API is used to implement internal iteration. It provides several features such as sequential and parallel execution. </p> <h3>Java stream() method</h3> <p>Java <strong>stream()</strong> is a static method of Java <strong>Arrays</strong> class which belongs to java.util package. It is used to get a sequential stream of an array.</p> <p> <strong>Syntax:</strong> </p> <pre> public static Stream stream(T[] array) </pre> <p>Where <strong>T</strong> is the type of array. The method accepts an <strong>array</strong> whose elements are to be converted into a sequential stream. It returns a sequential <strong>IntStream</strong> with the specified array as its source.</p> <h3>Java forEach() method</h3> <p>It is a terminal operation. It does not guarantee to respect the encounter order of the stream.</p> <p> <strong>Syntax:</strong> </p> <pre> void forEach(Consumer action) </pre> <p>The method accepts an <strong>action</strong> as a parameter. It is non-interfering action perform on each element. It does not return anything.</p> <p>There are two terminal operations which we can apply to a stream to print an array.</p> <p> <strong>Get an iterator to the stream</strong> </p> <pre> Iterator it=Arrays.stream(arr).iterator(); </pre> <p> <strong>Using stream().forEach()</strong> </p> <pre> Arrays.stream(arr).forEach(System.out::println); </pre> <p> <strong>Example of stream.forEach() method</strong> </p> <p>In the following example, we have used a different way to print an array. The forEach() method is used to iterate over every element of the stream. It is defined in the Iterable and Stream interface.</p> <p>Inside the forEach() method we have used System.out which is a reference to an object. It represent standard output stream. It has a method called println(). It is an overloaded method which can accept anything as an argument. When we put println() method after member access operator (::), it becomes an expression.</p> <pre> import java.util.Arrays; public class PrintArrayExample7 { public static void main(String[] args) { //declaration and initialization of an array of String type String[] arr = {&apos;Java&apos;, &apos;C&apos;, &apos;C++&apos;, &apos;Python&apos;, &apos;Perl&apos;}; //iterating by passing the method reference Arrays.stream(arr).forEach(System.out::println); } } </pre> <p> <strong>Output:</strong> </p> <pre> Java C C++ Python Perl </pre> <hr></arr.length;i++)>

Java voor elke lus

Java voor-elk lus wordt ook gebruikt om een ​​array of verzameling te doorlopen. Het werkt op basis van elementen. Het retourneert elementen één voor één in de gedefinieerde variabele.

Syntaxis:

 for(Type var:array) 

Voorbeeld van for-elke lus

In het volgende voorbeeld hebben we een array van het type String met lengte vier gemaakt en daarin elementen geïnitialiseerd. We hebben for-elke lus gebruikt om door de array te lopen.

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

Uitgang:

 Delhi Jaipur Gujarat Mumbai 

Java Arrays.toString()-methode

Java Arrays.toString() is een statische methode van Arrays klasse waartoe behoort java.util pakket Het bevat verschillende methoden voor het manipuleren van array.

Syntaxis:

 public static String toString(int[] a) 

Het accepteert een array van elk primitief type als argument. Het retourneert een snaar weergave van een array die een lijst met array-elementen bevat. De elementen van een array worden geconverteerd naar String by String.waardeOf(int) .

Voorbeeld van de toString()-methode

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

Uitgang:

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

Java Arrays.deepToString()-methode

De deepToString() De methode van de Java Arrays-klasse is ontworpen voor het converteren van multidimensionale arrays naar strings.

Syntaxis:

 public static String deepToString(Object[] a) 

Het accepteert een array als parameter. Het retourneert de String-representatie van een array.

Voorbeeld van de deepToString()-methode

In het volgende voorbeeld hebben we een tweedimensionale array van het float-type gemaakt.

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

Uitgang:

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

Java Arrays.asList()-methode

Java Arrays.asList() is een statische methode van Java Arrays klasse waartoe behoort java.util pakket. Het fungeert als een brug tussen array-gebaseerde en collectie-gebaseerde API.

Syntaxis:

 public static ListasList(T...a) 

De methode biedt ook een gemakkelijke manier om een ​​lijst met een vaste grootte te maken, die geïnitialiseerd is om veel elementen te bevatten.

 List obj=Arrays.toString(array[] a 

Het accepteert een array als argument. Het retourneert de lijstweergave van een array.

Voorbeeld van de asList()-methode

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

Uitgang:

 [Hello, Java, Programmers] 

Java Iterator-interface

Java Iterator is een interface die erbij hoort java.util pakket. Het Iterator-object kan worden gemaakt door de methode iterator() aan te roepen. Het is aanwezig in de collectie-interface. Het retourneert een iterator.

Voorbeeld van Iterator-interface

In het volgende voorbeeld hebben we een array gedeclareerd en daarin elementen geïnitialiseerd. We converteren eerst de opgegeven array naar een lijst met behulp van de Arrays.asList()-methode, omdat iterator ons in staat stelt de collectie te doorlopen en vervolgens de iterator()-methode van de collectieklasse aan te roepen.

 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 it = Arrays.asList(array).iterator(); while(itr.hasNext()) //returns a boolean value { System.out.println(itr.next()); } } } 

Uitgang:

 1.5 2.6 3.7 4.8 5.9 

Java Stream-API

Een Java Stream is een datastructuur die op aanvraag wordt berekend. Er worden geen gegevens opgeslagen. Het werkt op de brongegevensstructuur, zoals verzameling en array. Java Stream API wordt gebruikt om interne iteratie te implementeren. Het biedt verschillende functies, zoals sequentiële en parallelle uitvoering.

Java-stream()-methode

Java stroom() is een statische methode van Java Arrays klasse die bij het java.util-pakket hoort. Het wordt gebruikt om een ​​sequentiële stroom van een array te verkrijgen.

Syntaxis:

 public static Stream stream(T[] array) 

Waar T is het type array. De methode accepteert een reeks waarvan de elementen moeten worden omgezet in een sequentiële stroom. Het retourneert een reeks IntStream met de opgegeven array als bron.

Java forEach()-methode

Het is een terminaloperatie. Het garandeert niet dat de ontmoetingsvolgorde van de stream wordt gerespecteerd.

Syntaxis:

 void forEach(Consumer action) 

De methode accepteert een actie als parameter. Het is een niet-storende actie die op elk element wordt uitgevoerd. Het levert niets op.

Er zijn twee terminalbewerkingen die we op een stream kunnen toepassen om een ​​array af te drukken.

Haal een iterator naar de stream

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

Stream().forEach() gebruiken

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

Voorbeeld van de methode stream.forEach().

In het volgende voorbeeld hebben we een andere manier gebruikt om een ​​array af te drukken. De forEach()-methode wordt gebruikt om elk element van de stream te doorlopen. Het wordt gedefinieerd in de Iterable- en Stream-interface.

Binnen de forEach() methode hebben we System.out gebruikt, wat een verwijzing is naar een object. Het vertegenwoordigt de standaarduitvoerstroom. Het heeft een methode genaamd println(). Het is een overbelaste methode die alles als argument kan accepteren. Wanneer we de methode println() achter de member access operator (::) plaatsen, wordt het een expressie.

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

Uitgang:

 Java C C++ Python Perl