Tablica Java to struktura danych, w której możemy przechowywać elementy tego samego typu danych. Elementy tablicy są przechowywane w ciągłym miejscu w pamięci. Możemy więc przechowywać stały zestaw elementów w tablicy.
Istnieją następujące sposoby drukowania tablicy w Javie:
- Jawa Do pętla
- Jawa dla każdego pętla
- Jawa Arrays.toString() metoda
- Jawa Arrays.deepToString() metoda
- Jawa Arrays.asList() metoda
- Jawa Iterator Interfejs
- Jawa Strumień API
Pętla Java for
Jawa Do pętla służy do wielokrotnego wykonywania zestawu instrukcji, aż do spełnienia określonego warunku.
zamów losowo sql
Składnia:
for(initialization; condition; increment/ decrement) { //statements }
Przykład pętli for
W poniższym przykładzie utworzyliśmy tablicę o długości cztery i zainicjalizowaliśmy w niej elementy. Do pobrania wartości z tablicy użyliśmy pętli for. Jest to najpopularniejszy sposób drukowania tablicy w Javie.
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 dla każdej pętli
Jawa dla każdego pętla służy również do poruszania się po tablicy lub kolekcji. Działa w oparciu o elementy. Zwraca elementy jeden po drugim w zdefiniowanej zmiennej.
Składnia:
for(Type var:array)
Przykład pętli for-each
W poniższym przykładzie utworzyliśmy tablicę typu String o długości cztery i zainicjalizowaliśmy w niej elementy. Do poruszania się po tablicy użyliśmy pętli 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); } } }
Wyjście:
Delhi Jaipur Gujarat Mumbai
Metoda Java Arrays.toString().
Jawa Arrays.toString() jest metodą statyczną Tablice klasa do której należy Java.util pakiet Zawiera różne metody manipulacji tablicą.
Składnia:
public static String toString(int[] a)
Jako argument przyjmuje tablicę dowolnego typu pierwotnego. Zwraca a strunowy reprezentacja tablicy zawierająca listę elementów tablicy. Elementy tablicy są konwertowane na String za pomocą String.valueOf(int) .
Przykład metody 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)); } }
Wyjście:
[34, -10, 56, -9, -33]
Metoda Java Arrays.deepToString().
The głębokieToString() Metoda klasy Java Arrays przeznaczona jest do konwersji tablic wielowymiarowych na ciągi znaków.
Składnia:
public static String deepToString(Object[] a)
Akceptuje tablicę jako parametr. Zwraca ciąg reprezentujący tablicę.
Przykład metody deepToString().
W poniższym przykładzie utworzyliśmy dwuwymiarową tablicę typu 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)); } }
Wyjście:
[[1.2, 2.5], [3.9, 4.0], [5.3, 6.2]]
Metoda Java Arrays.asList().
Jawa Arrays.asList() jest statyczną metodą Java Tablice klasa do której należy Java.util pakiet. Działa jako pomost między interfejsem API opartym na tablicach a interfejsem API opartym na kolekcji.
Składnia:
public static ListasList(T...a)
Metoda zapewnia również łatwy sposób utworzenia listy inicjowanej o stałym rozmiarze, zawierającej wiele elementów.
List obj=Arrays.toString(array[] a
Akceptuje tablicę jako argument. Zwraca widok listy tablicy.
Przykład metody 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)); }
Wyjście:
[Hello, Java, Programmers]
Interfejs iteratora Java
Jawa Iterator to interfejs, który należy do Java.util pakiet. Obiekt Iterator można utworzyć wywołując metodę iterator(). Jest obecny w interfejsie Kolekcji. Zwraca iterator.
Przykład interfejsu Iteratora
W poniższym przykładzie zadeklarowaliśmy tablicę i zainicjalizowaliśmy w niej elementy. Najpierw konwertujemy określoną tablicę na listę za pomocą metody Arrays.asList(), ponieważ iterator pozwala nam przeglądać kolekcję, a następnie wywoływać metodę iterator() klasy kolekcji.
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()); } } }
Wyjście:
1.5 2.6 3.7 4.8 5.9
Interfejs API strumienia Java
Strumień Java to struktura danych obliczana na żądanie. Nie przechowuje danych. Działa na źródłowej strukturze danych, takiej jak kolekcja i tablica. API strumienia Java służy do implementacji wewnętrznej iteracji. Zapewnia kilka funkcji, takich jak wykonywanie sekwencyjne i równoległe.
Metoda strumienia Java().
Jawa strumień() jest statyczną metodą Java Tablice klasa należąca do pakietu java.util. Służy do uzyskania sekwencyjnego strumienia tablicy.
Składnia:
public static Stream stream(T[] array)
Gdzie T to typ tablicy. Metoda akceptuje szyk których elementy mają zostać zamienione na strumień sekwencyjny. Zwraca sekwencję IntStream z określoną tablicą jako źródłem.
Metoda Java forEach().
Jest to operacja terminalna. Nie gwarantuje to przestrzegania kolejności spotkań w strumieniu.
Składnia:
void forEach(Consumer action)
Metoda akceptuje działanie jako parametr. Jest to działanie niezakłócające wykonywane na każdym elemencie. To nic nie zwraca.
Istnieją dwie operacje terminalowe, które możemy zastosować do strumienia w celu wydrukowania tablicy.
Pobierz iterator do strumienia
Iterator it=Arrays.stream(arr).iterator();
Korzystanie ze strumienia().forEach()
Arrays.stream(arr).forEach(System.out::println);
Przykład metody stream.forEach().
W poniższym przykładzie użyliśmy innego sposobu wydrukowania tablicy. Metoda forEach() służy do iteracji po każdym elemencie strumienia. Jest zdefiniowany w interfejsie Iterable i Stream.
Wewnątrz metody forEach() użyliśmy System.out, który jest referencją do obiektu. Reprezentuje standardowy strumień wyjściowy. Posiada metodę zwaną println(). Jest to przeciążona metoda, która może przyjąć wszystko jako argument. Kiedy umieścimy metodę println() po operatorze dostępu do elementu członkowskiego (::), stanie się ona wyrażeniem.
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); } }
Wyjście:
Java C C++ Python Perl