logo

כיצד להדפיס מערך ב-Java

מערך Java הוא מבנה נתונים שבו אנו יכולים לאחסן את האלמנטים מאותו סוג נתונים. האלמנטים של מערך מאוחסנים במיקום זיכרון רציף. אז, אנחנו יכולים לאחסן קבוצה קבועה של אלמנטים במערך.

ישנן דרכים הבאות להדפיס מערך ב-Java:

  • Java ל לוּלָאָה
  • Java לכל אחד לוּלָאָה
  • Java Arrays.toString() שיטה
  • Java Arrays.deepToString() שיטה
  • Java Arrays.asList() שיטה
  • Java איטרטור מִמְשָׁק
  • Java זרם ממשק API

Java עבור לולאה

Java ל לולאה משמשת לביצוע קבוצה של הצהרות שוב ושוב עד לתנאי מסוים.

קוד קידוד האפמן

תחביר:

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

דוגמה של for loop

בדוגמה הבאה, יצרנו מערך באורך ארבע ואתחול לתוכו אלמנטים. השתמשנו עבור לולאה כדי להביא את הערכים מהמערך. זוהי הדרך הפופולרית ביותר להדפיס מערך ב-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 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 עבור כל לולאה

Java לכל אחד לולאה משמשת גם למעבר על מערך או אוסף. זה עובד על בסיס אלמנטים. הוא מחזיר אלמנטים אחד אחד במשתנה המוגדר.

תחביר:

 for(Type var:array) 

דוגמה של לכל לולאה

בדוגמה הבאה, יצרנו מערך מסוג String באורך ארבע ואתחול לתוכו אלמנטים. השתמשנו עבור כל לולאה כדי לעבור על המערך.

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

תְפוּקָה:

 Delhi Jaipur Gujarat Mumbai 

שיטת Java Arrays.toString()‎

Java Arrays.toString() היא שיטה סטטית של מערכים כיתה ששייכת ל java.util חבילה זה מכיל שיטות שונות למניפולציה של מערך.

תחביר:

 public static String toString(int[] a) 

הוא מקבל מערך מכל סוג פרימיטיבי כטיעון. זה מחזיר א חוּט ייצוג של מערך המכיל רשימה של רכיבי המערך. הרכיבים של מערך מומרים ל-String by String.valueOf(int) .

דוגמה לשיטת 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()‎

ה deepToString() השיטה של ​​המחלקה Java Arrays מיועדת להמרת מערכים רב מימדיים למחרוזות.

תחביר:

 public static String deepToString(Object[] a) 

הוא מקבל מערך כפרמטר. הוא מחזיר את ייצוג המחרוזת של מערך.

דוגמה לשיטת 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 מערכים כיתה ששייכת ל java.util חֲבִילָה. זה משמש כגשר בין API מבוסס מערך ל-API מבוסס אוסף.

תחביר:

 public static ListasList(T...a) 

השיטה מספקת גם דרך קלה ליצור אתחול רשימה בגודל קבוע כדי להכיל אלמנטים רבים.

 List 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={&apos;Hello&apos;,&apos;Java&apos;,&apos;Programmers&apos;}; System.out.println(Arrays.asList(stringArray)); } 

תְפוּקָה:

 [Hello, Java, Programmers] 

ממשק Java Iterator

Java איטרטור הוא ממשק ששייך ל java.util חֲבִילָה. ניתן ליצור את האובייקט Iterator על ידי קריאה לשיטת 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 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 הוא מבנה נתונים המחושב לפי דרישה. זה לא שומר נתונים. הוא פועל על מבנה נתוני המקור כגון איסוף ומערך. Java stream API משמש ליישום איטרציה פנימית. הוא מספק מספר תכונות כגון ביצוע רציף ומקביל.

שיטת Java stream()

Java זרם() היא שיטה סטטית של Java מערכים מחלקה השייכת לחבילת java.util. הוא משמש כדי לקבל זרם רציף של מערך.

תחביר:

 public static Stream stream(T[] array) 

איפה ט הוא סוג המערך. השיטה מקבלת an מַעֲרָך שהרכיבים שלו אמורים להיות מומרים לזרם רציף. זה מחזיר רצף IntStream עם המערך שצוין כמקור שלו.

שיטת Java forEach()‎

זה מבצע טרמינלי. זה לא מבטיח לכבד את סדר המפגש של הזרם.

תחביר:

 void forEach(Consumer action) 

השיטה מקבלת an פעולה כפרמטר. זוהי פעולה שאינה מפריעה לבצע על כל אלמנט. זה לא מחזיר כלום.

ישנן שתי פעולות מסוף שאנו יכולים להחיל על זרם כדי להדפיס מערך.

קבל איטרטור לזרם

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

שימוש ב-stream().forEach()

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

דוגמה לשיטת stream.forEach().

בדוגמה הבאה, השתמשנו בדרך אחרת להדפסת מערך. השיטה forEach() משמשת לחזרה על כל רכיב בזרם. הוא מוגדר בממשק Iterable ו-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 = {&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); } } 

תְפוּקָה:

 Java C C++ Python Perl