Java 8 Tohu Awhina Akoranga Me Nga Tauira Waehere

I tenei panui blog, ka korerohia e maatau nga ahuatanga o te awaawa o Java 8 me te whakarato i nga tauira tauira tohu rereke.

Ma nga awaawaawaawa Java e kawe nga papatono mahi ki java ana ka tautokohia mai i te java 8 na mena he momo tawhito to java, me whakahou koe ki te Java 8 kia whakamahi i nga awaawa Java.

He aha te whakamahi i nga awaawa Java?

Ko etahi o nga painga o nga awa:

  • Ma nga awa e pai ake to kaiwhakamaatau java (ka kite koe me te iti o nga raina waehere ka taea e koe te whakatutuki tino nui ma te whakamahi i nga awa).
  • He kaha ki te whakamahi i nga momo korero lambda he momo mahi tuuturu.
  • Ma te ParallelStreams e ahei te whakahaere miro-maha mo nga waahanga nui kia tino ngawari.

Rere Paipera

I te nuinga o nga wa, ko te paipa rerenga a

  • pūtake (te wahi e rere atu ai o raraunga)
  • aru mai te kore neke atu ranei nga mahi takawaenga
  • me tetahi mahi kāpeka

Nga awaawa Java - Tawa, Mahere, Whakaheke

Ko te puna ka rere i nga waahanga o nga waahanga.



Ko taua rerenga o nga timatanga ka taea te taatari, te waahanga, te mahere ranei, te rereke ranei o nga mahi whakahaere ki ia waahanga.

I te mutunga, ka taea te kohi, te whakaheke ranei, o etahi atu mahi kati ranei engari kotahi noa te mahi a te kāpeka e mahia ana.

Puna Puna

Pūtake awa ka ahu mai i nga kohinga, raarangi, huinga, raupapa o te int, te wawata, te taarua, te aho, etc.

Nga Mahi Awa

Mahi awa he takawaenga, he tauranga ranei:

  • Nga mahi takawaenga penei i te taatari, te mahere, te momo ranei ka whakahoki i tetahi awa kia taea ai e taatau te whakahaere i nga mahi takawaenga maha.
  • Mahi kāpeka whiwhi roma ka taea e ratau te whakahoki mai me te kore ka hoki mai ratau i te hua rerenga kore penei i te whakahekenga, hei tauira whakaitihia nga taonga ki te raarangi.

Nga Mahi Waenganui

  • Kore e whakaaetia he maha ake ranei nga mahi takawaenga.
  • Nga mea ota; mo nga waahanga nui: tātari tuatahi katahi ka tohatoha mahere ranei.
  • Mo nga rahinga nui rawa atu ma matou a ParallelStream kia ahei ai nga miro maha.

Ko etahi o nga mahi takawaenga ko:

  • tetahiMarite ()
  • motuhake ()
  • tātari ()
  • kiteaTuatahi ()
  • mahere ()
  • mahere ()
  • pekepeke ()
  • kōmaka ()

Nga Mahi Whakatuunga

Kia kotahi noa te urunga e whakaaehia ana.

  • he rite hoki te mahi a tena, a tena, ki ia waahanga hei tauira taarua i ia waahanga.
  • kohikohi ka penapena i nga waahanga katoa ki te kohinga, ki te raarangi, ki te awhi ranei.
  • ko nga whiringa katoa ka whakaiti i te rerenga ki tetahi waahanga whakarapopototanga.

Ko etahi tauira o te whakaheke i nga mahi ko:

  • tatau ()
  • max ()
  • min ()
  • whakaiti ()

Nga Tauira Waehere Waea Java

Tena kia tirohia nga kaupapa o runga ake nei i roto i nga tauira waehere.

Awa Integer

Ko te tauira tuatahi he rerenga tau noa. Ka hanga e matou he awa taurangi ma te whakamahi i te IntStream akomanga me tana awhe mahi e whakawhiwhia ana ki a maatau i te kohinga integers.

Ko te forEach Ko to tatou mahi kāpeka. Mo ia mea, ka ta taatau noa atu.

import java.io.IOException; import java.util.stream.IntStream; public class JavaStreams {
public static void main(String[] args) throws IOException {
IntStream

.range(1, 10)

.forEach(System.out::print);
System.out.println();
} }

Putanga:

123456789

Hiko Tauoti me te Hūpeke

Ko te tauira tuarua e whakamahi ana i te rerenga taurangi engari i taapirihia e maatau te skip() i konei, na i tenei keehi, ka pekehia e maatau nga waahanga tuatahi e 5 o ta maatau awa.

Ko tenei ka taarua noa nga waahanga 6 tae atu ki te 9. Kei te whakamahi maatau i tetahi korero lambda ngawari ki te taarua i te taonga

import java.io.IOException; import java.util.stream.IntStream; public class JavaStreams {
public static void main(String[] args) throws IOException {
IntStream

.range(1, 10)

.skip(5)

.forEach(x -> System.out.println(x));
System.out.println();
} }

Putanga:

6 7 8 9

Te Waahi Tuuturu me te Tapeke

Ko te tauira tuatoru, ka whakamahi ano i te IntStream ki te hanga i a maatau rerenga taonga, engari ka maka e maatau ki roto i te println() tauākī rite te tawhā mo te raina tā.

Ko ta maatau e taarua ko te moni noa mai i te awhe 1 ki te 5 me etahi atu kupu, 1 2 3 & 4 ka taarua anake te kohinga o aua nama:

import java.io.IOException; import java.util.stream.IntStream; public class JavaStreams {
public static void main(String[] args) throws IOException {
System.out.println(
IntStream

.range(1, 5)

.sum());
System.out.println();
} }

Putanga:

10

Awa.o

Ma te tauira e whai ake nei e whakamahi te Stream.of mahi, he tino maamaa na te mea ka taea te rere i nga integers, nga uara tohu tere, nga aho ranei tae atu ki nga taonga.

I roto i tenei tauira, ka mahi noa taatau taatai ​​taatai ​​ka kitea e maatau te taonga tuatahi ma te whakamahi i te findFirst() mahi. Na, ka ta taatau noa i te waahanga tuatahi ki te raarangi.

import java.io.IOException; import java.util.stream.Stream; public class JavaStreams {
public static void main(String[] args) throws IOException {
Stream.of('Ava', 'Aneri', 'Alberto')

.sorted()

.findFirst()

.ifPresent(System.out::println);
} }

Putanga

Alberto

Rere mai i te Huinga, tohatoha, taatari me te taarua

I roto i ta maatau tauira e whai ake nei, ka rere mai i te raupapa. Katahi ka whakariterite, ka taatari ka taarua.

Anei, ka taatari maatau i nga taonga ka tiimata ki te s.

Ka whakamahia e maatau he korero lambda e uru ana ki roto X ko wai te ingoa ka tohu ka tohu ko wai ka tiimata ki te reta s a ka paahitia era.

Na ka whakaritihia e maatau ana ka tohu mo ia waahanga ka paahi i taua waahanga ka taarua e maatau.

import java.io.IOException; import java.util.Arrays; public class JavaStreams {
public static void main(String[] args) throws IOException {
String[] names = {'Al', 'Ankit', 'Kushal', 'Brent', 'Sarika', 'amanda', 'Hans', 'Shivika', 'Sarah'};
Arrays.stream(names)


.filter(x -> x.startsWith('S'))


.sorted()


.forEach(System.out::println);
} }

Putanga:

Sarah Sarika Shivika

Tuhinga o mua

Tena me titiro taatau pehea te tango i te toharite o nga tapawha o te awhi.

I konei, ka whakamahia te Arrays.stream() mahi ki te rere i nga tauoti ka whakamahi ai map() ki te whakamahere i ia taonga ki ia integer ki tona tapawha.

import java.util.Arrays; public class JavaStreams {
public static void main(String[] args) {
Arrays.stream(new int[] {2, 4, 6, 8, 10})


.map(x -> x * x)


.average()


.ifPresent(System.out::println);
} }

Putanga:

44.0

Kia mahara he taarua te taarua hei utu mo te tauoti.

Ka rere mai i te Rarangi, taatari ka taia

I tenei tauira, ka rere mai i tetahi raarangi, ka taatari i aua taonga ka taarua.

Kia mahara kei roto i te map() mahi, ka hurihia e tatou nga ingoa katoa ki nga waahanga iti.

import java.util.Arrays; import java.util.List; public class JavaStreams {
public static void main(String[] args) {
List people = Arrays.asList('Al', 'Ankit', 'Brent', 'Sarika', 'amanda', 'Hans', 'Shivika', 'Sarah');
people


.stream()


.map(String::toLowerCase)


.filter(x -> x.startsWith('a'))


.forEach(System.out::println);
} }

Putanga:

al ankit amanda

Ka kite taatau e toru nga ingoa ka timata i te a a kei roto katoa ratou i nga pukapuka iti.

Ka rere nga haupae mai i te konae kuputuhi, he momo, he taatai, ka taarua

I ta maatau tauira e whai ake nei, ka rere nga rarangi mai i tetahi konae tuhinga. Ka whakariterite, ka taatari ka ta taatau.

Whakaarohia he konae to tatou e kiia nei bands.txt me nga korero e whakaaturia ana i raro:

Rolling Stones Lady Gaga Jackson Browne Maroon 5 Arijit Singh Elton John John Mayer CCR Eagles Pink Aerosmith Adele Taylor Swift

Ka whakamahia e maatau Files.lines() ki te hanga i to maatau awa ka hoatu ki a maatau he awa taera mo ia raina o te konae.

Ka mutu ana ta maatau awa, ka wehehia e maatau ana ka taatari i nga taonga e nui ake ana i te 13 nga kiripuaki ka peehi i nga mea e toe ana.

Te mea mutunga, me kati ta maatau konae bands.close.

import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.stream.Stream; public class JavaStreams {
public static void main(String[] args) throws IOException {
Stream bands = Files.lines(Paths.get('bands.txt'));
bands


.sorted()


.filter(x -> x.length() > 13)


.forEach(System.out::println);
bands.close();
} }

Putanga:

Jackson Browne Rolling Stones

E rua nga roopu kei a maatau neke atu i te 13 nga kiripuaki.

Rarangi rere mai i te konae tuhinga ka penapena raarangi

Mo tenei tauira, ka whakamahia e matou te konae tuhinga penei i runga ake nei.

Kei te hiahia maatau ki te taatari i nga taonga kei roto nga reta jit, ma te whakamahi i x.contains() he mahi aho noa iho tenei.

Ma te whakamahi i te .collect() ka taapirihia e maatau nga reta katoa jit ki te raarangi.

Ka puta ana he raarangi, ka taea te whakamahi i te forEach kaiwhakahaere ki te taarua i nga taonga.

import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; import java.util.stream.Collectors; public class JavaStreams {
public static void main(String[] args) throws IOException {
List bands2 = Files.lines(Paths.get('bands.txt'))


.filter(x -> x.contains('jit'))


.collect(Collectors.toList());
bands2.forEach(x -> System.out.println(x));
} }

Putanga:

Arijit Singh

Rarangi rere mai i te konae CSV ka tatau

I roto i tenei tauira, ka rere nga rarangi mai i te konae CSV a ka tatau i nga rarangi pai.

Whakaarohia he konae ta matou e kiia nei data.txt me nga korero e whai ake nei:

A,12,3.7 B,17,2.8 C,14,1.9 D,23,2.7 E F,18,3.4

Anei, kaore he rarangi o te rarangi E, no reira e hiahia ana matou ki te wehe atu i tera o ta matou awa.

I roto i te waehere e whai ake nei, ka panuihia e tatou i ia rarangi ka hiahia ki te wehe i nga piko ki roto i te kohinga kia riro ai i ia rarangi te momo taonga.

Ka tukuna he taatari hei taatari i nga rarangi kaore e toru nga taonga.

import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.stream.Stream; public class JavaStreams {
public static void main(String[] args) throws IOException {
Stream rows1 = Files.lines(Paths.get('data.txt'));
int rowCount = (int)rows1


.map(x -> x.split(','))


.filter(x -> x.length == 3)


.count();
System.out.println(rowCount + ' rows.');
rows1.close();
} }

Putanga:

5 rows

Whakahekenga - huihuinga

Ma tenei tauira e whakaatu ki a koe me pehea te whakamahi whakaiti. Ka whakahekehia e maatau ki te moni. Anei, he rua taatau taatau ma te whakamahi i te Stream.of() mahi. Kua tautuhia e matou nga taarua e toru i roto i nga tautohetohe rereke e toru ka whakamahia e matou te mahi whakaheke.

import java.util.stream.Stream; public class JavaStreams {
public static void main(String[] args) {
double total = Stream.of(7.3, 1.5, 4.8)


.reduce(0.0, (Double a, Double b) -> a + b);
System.out.println('Total = ' + total);
} }

Putanga:

13.600000000000001