arrays java 8 stream class
Java 8 je bila glavna izdaja v zgodovini Jave. V tej vadnici so pojasnjene različne spremembe nizov v Javi 8, kot je razred tokov in vzporedno razvrščanje:
V tej izdaji je bilo predstavljenih veliko novih funkcij, o čemer smo že govorili v naši prejšnji vadnici o »Java 8 Features«. Spoznajmo Java Class 8 Stream Class in način vzporednega razvrščanja.
=> Tukaj bodite pozorni na preprosto serijo Java Training Training.
Kaj se boste naučili:
Nizi v Javi 8
Java8 je predstavil nekaj funkcij, posebej povezanih z nizi.
Vključuje:
- Potoki za nize
- Vzporedno razvrščanje
V tej vadnici bomo podrobno razpravljali o teh dveh značilnostih Java 8.
Java 8 Stream
Java 8 je dodal razred tokov za nize, ki izboljšuje berljivost in učinkovitost nizov. Pretvorba nizov v tok poveča tudi splošno uspešnost programa.
Poleg tega lahko uporabite tudi različne metode API-ja Stream, ki lahko poenostavijo preslikavo in filtriranje dejanj na nizih.
Za pretvorbo polja v tok lahko uporabimo naslednja preobremenitve metode .
Stream stream(T() array) IntStream stream(int() array) LongStream stream(long() array) DoubleStream stream(double() array)Naslednji program prikazuje izvajanje uporabe tokov z nizi. Ta program prikazuje primerjavo iterativnega pristopa in pristopa tokov. Kasneje se vsota elementov v matriki izračuna z uporabo Iteration in Streams in izračuna povprečje.
import java.util.Arrays; class Main { public static void main(String() args) { int intArray() = {5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100}; //calculate sum using iterative method int sum = 0; for (int i = 0; i System.out.print(e + ' ')); } } Izhod:

Zgornji rezultat prikazuje pristop povprečne ponovitve in tokov. Ker je elementov manj, je povprečje enako, toda ko se elementi v matriki povečujejo, postane iterativni pristop počasnejši.
Naslednji primer programiranja prikazuje, kako se matrika pretvori v celoštevilski tok in nato z uporabo metode zemljevida toka preslika elemente polja na naključne vrednosti in nato doda te elemente. Program torej natisne vsoto vseh elementov v celoštevilskem toku .
import java.util.Arrays; class Main { public static void main(String() args) { //declare array of ints int() ints = new int(100); //fill array with value 10 Arrays.fill(ints, 10); //maps array stream to random numbers and calculates sum of the elements int sum = Arrays.stream(ints) .map(i -> (int) (Math.random() * i)) .sum(); //print the sum System.out.println('The sum of the random array elements: ' + sum); } } Izhod:

Uporabili smo metodo map, ki jo v zgornjem programu ponuja razred Stream. Uporabili smo tudi metodo sum (), ki doda elemente v toku.
dodaj na konec polja java
Metoda Java 8 parallelsort ()
Metoda “parallelSort ()” je uvedena v Javi 8. Je metoda razreda java.util.Arrays. Metoda paralelnega sortiranja se uporablja za sortiranje matrike na vzporeden način. Uporablja pristop vilic in združevanja, pri katerem se nizi razdelijo na manjše enote, dokler ni enote enostavno obvladljive in nato razvrščene posebej.
Nato se združijo manjše enote in celotna operacija se zgodi vzporedno. Glavna prednost te metode paralleSort je, da uporablja večnitnost, s čimer je razvrščanje hitrejše in učinkovitejše.
Metoda paralelnega sortiranja () ima naslednje preobremenitve:
public static void parallelSort (Object obj())Zgornji prototip metode se uporablja za razvrščanje polja v naraščajočem vrstnem redu.
public static void parallelSort (Object obj(), int fromIndex, int toIndex)Zgornja preobremenitev se uporablja za razvrščanje elementov v določenem obsegu od ‘odIndex’ do ‘toIndex’ v polju.
Naslednji program Java prikazuje metodo paralelnega sortiranja za razvrščanje polja.
import java.util.Arrays; public class Main { public static void main(String() args) { // Creating an array int numArray() = { 54,34,25,13,65,37,85,47,26 }; // print the original Array System.out.print('Original Unsorted Array: '); // iterate the array using streams Arrays.stream(numArray) .forEach(num ->System.out.print(num + ' ')); System.out.println(); // Using parallelSort() method to sort array Arrays.parallelSort(numArray); // Print sorted Array System.out.print('Array sorted using parallelSort: '); Arrays.stream(numArray) .forEach(num->System.out.print(num + ' ')); } } Izhod:

V zgornjem programu se vhodno polje sortira z uporabo metode paralleSort in izhod se natisne.
Naslednji program primerja dve metodi sortiranja, ki jih ponuja razred Arrays, tj. Ta program primerja čas, potreben posamezni metodi za razvrščanje polja . Čas se izračuna za vsako ponovitev.
import java.util.Arrays; import java.util.Random; public class Main { public static void main(String() args) { // Create an array int numArray() = new int(100); System.out.println('Iteration#' + ' ' + 'Serial Sort :Time(in ns)' + ' ' + 'Parallel Sort :Time(in ns)'); // Iterating Loop till i = 1000 // with interval of 10 for (int i = 0; i <100; i += 10) { System.out.print(' ' + (i / 10 + 1) + ' '); // Array generation using random function Random rand = new Random(); for (int j = 0; j < 100; j++) { numArray(j) = rand.nextInt(); } // Arrays.sort() method: Start and End Time long startTime = System.nanoTime(); // Call Serial Sort method Arrays.sort Arrays.sort(numArray); long endTime = System.nanoTime(); // Print Serial Sort results System.out.print((endTime - startTime) + ' '); // Arrays.parallelSort() start and end time startTime = System.nanoTime(); // call Parallel Sort method Arrays.parallelSort Arrays.parallelSort(numArray); endTime = System.nanoTime(); // Print Parallel Sort results System.out.println(' ' + (endTime - startTime)); System.out.println(); } } } Izhod:

Zgornji izhod prikazuje primerjavo časa, ki sta ga za vsako ponovitev izvedli metodi sort in parallelSort. Jasna je razlika med delovanjem metode sort in parallelSort z metodo paralSaleSort, ki je veliko boljša od razvrščanja.
Pogosto zastavljena vprašanja
V # 1) Kaj je Arrays Stream v Javi?
Odgovor: To je metoda pretoka razreda Arrays. Ta tok metode (matrika T ()) vrne zaporedni tok iz polja.
V # 2) Kaj je Stream () v Javi?
Odgovor: Tok () v Javi je bil prvič predstavljen v Javi 8. Razred Stream je sestavljen iz API-ja, ki se uporablja za obdelavo predmetov zbirke, vključno z nizi.
V # 3) Kako deluje Java Stream?
Odgovor: API-ji Java Java imajo mehanizem, ki lahko pretvori zbirke, kot so ArrayList, Arrays itd., V tok. Prav tako obdelujejo vsak element teh tokov vzporedno z različnimi ponujenimi metodami in posredujejo rezultate.
V # 4) Kaj je namen metode MAP Stream v Javi 8?
Odgovor: Metoda zemljevida spada v razred java.util.stream.Streams. Metoda preslikave uporabi funkcijo za vsak element toka ali pa jo preslika v drugo vrednost in jo pretvori.
V # 5) Ali je tok hitrejši kot za zanko Java?
Odgovor: Da, še posebej vzporedni tokovi. Na primer, metoda parallelSort razreda Arrays, ki uporablja vzporedne tokove, je hitrejša od metode zaporednega razvrščanja, ki jo ponuja razred Arrays.
Zaključek
Potoki v Javi je nova funkcija, vključena od Jave 8. Pretoki ponujajo niz API-jev, katerih metode lahko uporabljamo v zbirkah v Javi. V tej vadnici smo videli metode pretoka, ki delujejo na Java nizih. Ogledali smo si tudi druge funkcije, ki so bile dodane nizom Java v izdaji Java 8.
Eden od njih je tok, drugi pa je metoda paralleralSort, ki matriko razvrsti vzporedno. Ta metoda je hitrejša od linearne razvrščanja, kar je bilo razvidno iz programa, kjer smo primerjali obe metodi.
Preberite tudi = >> Spremembe vmesnika v Javi 8
=> Obiščite tukaj za ekskluzivno serijo vadnic za učenje Java.
Priporočeno branje
- Java vrste podatkov, zanke, nizi, stikala in trditve
- Metoda sortiranja () MongoDB () s primeri
- Java Copy Array: Kako kopirati / klonirati polje v Javi
- Java Generic Array - Kako simulirati generična polja v Javi?
- Večdimenzionalni nizi v Javi (2d in 3d nizi v Javi)
- Vadnica Java vmesnika in abstraktnega razreda s primeri
- Kako razvrstiti polje v Javi - Vadnica s primeri
- Kaj je statična ključna beseda v Javi?