Java masyvas yra duomenų struktūra, kurioje galime saugoti to paties duomenų tipo elementus. Masyvo elementai saugomi gretimoje atminties vietoje. Taigi, masyve galime laikyti fiksuotą elementų rinkinį.
Yra šie būdai, kaip spausdinti masyvą Java:
- Java dėl kilpa
- Java kiekvienam kilpa
- Java Arrays.toString() metodas
- Java Arrays.deepToString() metodas
- Java Arrays.asList() metodas
- Java Iteratorius Sąsaja
- Java Srautas API
Java for ciklus
Java dėl ciklas naudojamas teiginių rinkiniui vykdyti pakartotinai, kol įvykdoma tam tikra sąlyga.
Java žiniatinklio paslaugos
Sintaksė:
for(initialization; condition; increment/ decrement) { //statements }
For ciklo pavyzdys
Šiame pavyzdyje sukūrėme keturių ilgių masyvą ir inicijavome elementus. Mes naudojome ciklą, norėdami gauti vertes iš masyvo. Tai populiariausias būdas spausdinti masyvą 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] = '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); } } } </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'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={'Hello','Java','Programmers'}; 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'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 = {'Java', 'C', 'C++', 'Python', 'Perl'}; //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 for-each ciklas
Java kiekvienam kilpa taip pat naudojama norint pereiti per masyvą arba rinkinį. Jis veikia elementų pagrindu. Jis grąžina elementus po vieną apibrėžtame kintamajame.
Sintaksė:
for(Type var:array)
Kiekvienos kilpos pavyzdys
Šiame pavyzdyje sukūrėme keturių ilgio eilutės tipo masyvą ir inicijavome jame elementus. Mes naudojome kiekvieną kilpą, norėdami pereiti per masyvą.
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); } } }
Išvestis:
Delhi Jaipur Gujarat Mumbai
Java Arrays.toString() metodas
Java Arrays.toString() yra statinis metodas Masyvai klasei, kuriai priklauso java.util paketas Jame yra įvairių masyvo manipuliavimo metodų.
Sintaksė:
public static String toString(int[] a)
Jis priima bet kokio primityvaus tipo masyvą kaip argumentą. Tai grąžina a styga masyvo, kuriame yra masyvo elementų sąrašas, vaizdas. Masyvo elementai konvertuojami į eilutę pagal String.valueOf(int) .
Metodo toString() pavyzdys
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)); } }
Išvestis:
[34, -10, 56, -9, -33]
Java Arrays.deepToString() metodas
The deepToString() Java Arrays klasės metodas yra skirtas konvertuoti daugiamačius masyvus į eilutes.
Sintaksė:
public static String deepToString(Object[] a)
Jis priima masyvą kaip parametrą. Tai grąžina masyvo eilutės atvaizdavimą.
DeepToString() metodo pavyzdys
Šiame pavyzdyje sukūrėme dviejų dimensijų slankiojo tipo masyvą.
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)); } }
Išvestis:
[[1.2, 2.5], [3.9, 4.0], [5.3, 6.2]]
Java Arrays.asList() metodas
Java Arrays.asList() yra statinis Java metodas Masyvai klasei, kuriai priklauso java.util paketą. Jis veikia kaip tiltas tarp masyvo ir kolekcijos API.
Sintaksė:
public static ListasList(T...a)
Šis metodas taip pat suteikia paprastą būdą sukurti fiksuoto dydžio sąrašo inicijavimą, kad būtų daug elementų.
List obj=Arrays.toString(array[] a
Jis priima masyvą kaip argumentą. Tai grąžina masyvo sąrašo rodinį.
Metodo asList() pavyzdys
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)); }
Išvestis:
[Hello, Java, Programmers]
Java Iterator sąsaja
Java Iteratorius yra sąsaja, kuriai priklauso java.util paketą. Iteratoriaus objektą galima sukurti iškviečiant iterator() metodą. Jis yra kolekcijos sąsajoje. Tai grąžina iteratorių.
Iteratoriaus sąsajos pavyzdys
Toliau pateiktame pavyzdyje mes deklaravome masyvą ir inicijuojame elementus į jį. Pirmiausia nurodytą masyvą konvertuojame į sąrašą naudodami Arrays.asList() metodą, nes iteratorius leidžia mums pereiti per kolekciją ir tada iškviesti rinkinio klasės metodą 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()); } } }
Išvestis:
1.5 2.6 3.7 4.8 5.9
„Java Stream“ API
„Java Stream“ yra duomenų struktūra, kuri apskaičiuojama pagal pareikalavimą. Jis nesaugo duomenų. Jis veikia pagal šaltinio duomenų struktūrą, pvz., rinkinį ir masyvą. Java srauto API naudojama vidinei iteracijai įgyvendinti. Jame yra keletas funkcijų, tokių kaip nuoseklus ir lygiagretus vykdymas.
Java srauto() metodas
Java srautas() yra statinis Java metodas Masyvai klasė, kuri priklauso java.util paketui. Jis naudojamas norint gauti nuoseklų masyvo srautą.
Sintaksė:
public static Stream stream(T[] array)
Kur T yra masyvo tipas. Metodas priima an masyvas kurio elementai turi būti paversti nuosekliu srautu. Tai grąžina nuoseklųjį IntStream su nurodytu masyvu kaip šaltiniu.
Java forEach() metodas
Tai terminalo operacija. Tai negarantuoja, kad bus laikomasi srauto susitikimo tvarkos.
Sintaksė:
void forEach(Consumer action)
Metodas priima an veiksmas kaip parametras. Tai netrukdantis veiksmas, atliekamas kiekvienam elementui. Tai nieko negrąžina.
Yra dvi terminalo operacijos, kurias galime pritaikyti srautui, kad išspausdintume masyvą.
Gaukite srauto iteratorių
Iterator it=Arrays.stream(arr).iterator();
Naudojant srautą().forEach()
Arrays.stream(arr).forEach(System.out::println);
stream.forEach() metodo pavyzdys
Šiame pavyzdyje mes naudojome kitokį masyvo spausdinimo būdą. Metodas forEach() naudojamas kartoti kiekvieną srauto elementą. Jis apibrėžtas Iterable ir Stream sąsajoje.
ForEach() metodo viduje mes panaudojome System.out, kuri yra nuoroda į objektą. Tai yra standartinis išvesties srautas. Jis turi metodą, vadinamą println (). Tai perkrautas metodas, kuris gali priimti bet ką kaip argumentą. Kai įdedame metodą println() po nario prieigos operatoriaus (::), jis tampa išraiška.
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); } }
Išvestis:
Java C C++ Python Perl