Java polje je podatkovna struktura u koju možemo pohraniti elemente iste vrste podataka. Elementi niza pohranjeni su na neprekidnoj memorijskoj lokaciji. Dakle, možemo pohraniti fiksni skup elemenata u nizu.
Postoje sljedeći načini ispisa polja u Javi:
- Java za petlja
- Java za svakoga petlja
- Java Arrays.toString() metoda
- Java Arrays.deepToString() metoda
- Java Arrays.asList() metoda
- Java Iterator Sučelje
- Java Stream API
Java for petlja
Java za petlja se koristi za ponavljanje skupa naredbi dok se ne zadovolji određeni uvjet.
java inicijalizirati niz
Sintaksa:
for(initialization; condition; increment/ decrement) { //statements }
Primjer for petlje
U sljedećem primjeru stvorili smo polje duljine četiri i inicijalizirali elemente u njemu. Koristili smo for petlju za dohvaćanje vrijednosti iz niza. To je najpopularniji način ispisa polja u Javi.
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 petlja
Java za svakoga petlja se također koristi za prelazak preko niza ili zbirke. Djeluje na temelju elemenata. Vraća elemente jedan po jedan u definiranoj varijabli.
Sintaksa:
for(Type var:array)
Primjer for-each petlje
U sljedećem primjeru stvorili smo niz tipa String duljine četiri i inicijalizirali elemente u njemu. Koristili smo for-each petlju za prelazak nizom.
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); } } }
Izlaz:
Delhi Jaipur Gujarat Mumbai
Metoda Java Arrays.toString().
Java Arrays.toString() je statička metoda Nizovi klasa kojoj pripada java.util paket Sadrži različite metode za manipuliranje nizom.
Sintaksa:
public static String toString(int[] a)
Prihvaća niz bilo kojeg primitivnog tipa kao argument. Vraća a niz prikaz niza koji sadrži popis elemenata niza. Elementi niza pretvaraju se u String pomoću String.valueOf(int) .
Primjer toString() metode
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)); } }
Izlaz:
[34, -10, 56, -9, -33]
Metoda Java Arrays.deepToString().
The deepToString() Metoda klase Java Arrays dizajnirana je za pretvaranje višedimenzionalnih nizova u nizove.
Sintaksa:
public static String deepToString(Object[] a)
Prihvaća niz kao parametar. Vraća String reprezentaciju niza.
Primjer metode deepToString().
U sljedećem primjeru stvorili smo dvodimenzionalni niz tipa float.
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)); } }
Izlaz:
[[1.2, 2.5], [3.9, 4.0], [5.3, 6.2]]
Metoda Java Arrays.asList().
Java Arrays.asList() je statička metoda Jave Nizovi klasa kojoj pripada java.util paket. Djeluje kao most između API-ja temeljenog na polju i zbirke.
Sintaksa:
public static ListasList(T...a)
Metoda također pruža jednostavan način za stvaranje popisa fiksne veličine koji će sadržavati mnogo elemenata.
List obj=Arrays.toString(array[] a
Prihvaća niz kao argument. Vraća prikaz popisa niza.
Primjer metode 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)); }
Izlaz:
[Hello, Java, Programmers]
Java Iterator sučelje
Java Iterator je sučelje koje pripada java.util paket. Objekt Iterator može se stvoriti pozivom metode iterator(). Prisutan je u sučelju zbirke. Vraća iterator.
Primjer sučelja Iteratora
U sljedećem primjeru smo deklarirali niz i inicijalizirali elemente u njemu. Navedeni niz najprije pretvaramo u popis pomoću metode Arrays.asList() jer nam iterator omogućuje da pređemo preko kolekcije, a zatim pozovemo metodu iterator() klase zbirke.
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()); } } }
Izlaz:
1.5 2.6 3.7 4.8 5.9
Java Stream API
Java Stream je struktura podataka koja se izračunava na zahtjev. Ne pohranjuje podatke. Djeluje na izvornoj strukturi podataka kao što su zbirka i niz. Java stream API koristi se za implementaciju interne iteracije. Omogućuje nekoliko značajki kao što su sekvencijalno i paralelno izvođenje.
Java stream() metoda
Java tok() je statička metoda Jave Nizovi klasa koja pripada paketu java.util. Koristi se za dobivanje sekvencijalnog toka niza.
Sintaksa:
public static Stream stream(T[] array)
Gdje T je vrsta niza. Metoda prihvaća an niz čiji se elementi trebaju pretvoriti u sekvencijalni tok. Vraća sekvencijalno IntStream s navedenim nizom kao izvorom.
Java forEach() metoda
To je terminalna operacija. Ne jamči poštivanje redoslijeda susreta u streamu.
Sintaksa:
void forEach(Consumer action)
Metoda prihvaća an akcijski kao parametar. To je neometajuća radnja koja se izvodi na svakom elementu. Ne vraća ništa.
Postoje dvije operacije terminala koje možemo primijeniti na tok za ispis niza.
Dobiti iterator za tok
Iterator it=Arrays.stream(arr).iterator();
Upotreba stream().forEach()
Arrays.stream(arr).forEach(System.out::println);
Primjer metode stream.forEach().
U sljedećem primjeru upotrijebili smo drugačiji način za ispis niza. Metoda forEach() koristi se za ponavljanje preko svakog elementa toka. Definirano je u Iterable i Stream sučelju.
Unutar metode forEach() koristili smo System.out koji je referenca na objekt. Predstavlja standardni izlazni tok. Ima metodu koja se zove println(). To je preopterećena metoda koja može prihvatiti bilo što kao argument. Kada metodu println() stavimo iza operatora pristupa članu (::), ona postaje izraz.
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); } }
Izlaz:
Java C C++ Python Perl