ஜாவாவில் ஸ்ட்ரீம் பற்றி நீங்கள் தெரிந்து கொள்ள வேண்டிய அனைத்தும்



இந்த கட்டுரை ஜாவாவில் சமீபத்தில் அறிமுகப்படுத்தப்பட்ட ஒரு தொகுப்பை ஜாவாவில் ஸ்ட்ரீம் செய்ய அறிமுகப்படுத்தும், மேலும் அது என்ன செய்ய முடியும் என்பது பற்றிய விரிவான விளக்கத்தையும் உங்களுக்கு வழங்கும்.

ஜாவா 8 இல் புதிய கூடுதல் தொகுப்பு என அழைக்கப்படுகிறது java.util.stream க்கு சேர்க்கப்பட்டுள்ளது திறமையான நிரலாக்க அனுபவத்திற்கான பயனர்கள். ஒரு ஸ்ட்ரீம் பல முறைகளை ஆதரிக்கும் பொருள்களின் வரிசையாக வரையறுக்கப்படுகிறது. இந்த கட்டுரையில் நாம் ஸ்ட்ரீமை ஆராய்வோம்

இந்த கட்டுரையில் பின்வரும் சுட்டிகள் மறைக்கப்படும்,





ஸ்ட்ரீம் இன் ஜாவாவில் இந்த கட்டுரையைத் தொடங்குவதற்கு முன், சில முக்கியமான அம்சங்களைப் பார்ப்போம்,

ஜாவாவில் ஸ்ட்ரீம்: அம்சங்கள்

  • ஸ்ட்ரீம் என்பது தரவு அமைப்பு அல்ல, உறுப்புகளை சேமிக்காது. தொகுப்புகள், வரிசைகள் அல்லது I / O சேனல்கள் என்பது உள்ளீட்டை எடுக்கும் இடமாகும்.
  • செயல்பாடுகள் செய்யப்பட்டபின் ஸ்ட்ரீமின் மூலமானது மாற்றப்படாமல் உள்ளது. எடுத்துக்காட்டாக, ஸ்ட்ரீமை வடிகட்டுவது அசல் ஸ்ட்ரீமை மாற்றுவதற்கு பதிலாக வடிகட்டப்பட்ட கூறுகள் இல்லாமல் புதிய ஸ்ட்ரீமை உருவாக்குகிறது.
  • வடிகட்டி, குறைத்தல், பொருத்துதல், கண்டறிதல் போன்ற திரட்டல் செயல்பாடுகள் ஸ்ட்ரீம் மூலம் ஆதரிக்கப்படுகின்றன.
  • சோம்பல் ஸ்ட்ரீமின் அம்சமாக கருதப்படலாம், ஏனெனில் இது குறியீடுகளை தேவைப்படும் போது மட்டுமே மதிப்பீடு செய்கிறது.
  • ஸ்ட்ரீமில் இருக்கும் உறுப்புகளின் வருகை ஒரு ஸ்ட்ரீமின் வாழ்நாளில் ஒரு முறை மட்டுமே செய்ய முடியும். மூலத்தில் உள்ள அதே கூறுகளை மீண்டும் பார்வையிட புதிய ஸ்ட்ரீம் உருவாக்கப்பட வேண்டும்.

ஜாவாவில் ஸ்ட்ரீம் குறித்த இந்த கட்டுரையுடன் நகரும்



நீரோடைகளை உருவாக்குதல்

பின்வரும் முறைகளால் நீரோடைகளை உருவாக்க முடியும்:

  • ஸ்ட்ரீம் () - ஒரு தொடர் ஸ்ட்ரீம் திரும்பியது.சேகரிப்புமூலமாகக் கருதப்படுகிறது.
  • இணை ஸ்ட்ரீம் () - ஒரு இணையான ஸ்ட்ரீம் திரும்பியது. சேகரிப்பு ஆதாரமாக கருதப்படுகிறது.
பட்டியல் சரங்கள் = அரேஸ்.ஆஸ்லிஸ்ட் ('ஹலோ', '', 'ஹாய்', 'ஹோலா', 'போன்ஜோர்', '', 'நமஸ்தே') பட்டியல் வடிகட்டப்பட்ட = சரங்கள்.ஸ்ட்ரீம் (). வடிகட்டி (சரம் ->! isEmpty ()). சேகரிக்கவும் (சேகரிப்பாளர்கள். பட்டியல் ())

ஜாவாவில் ஸ்ட்ரீம் குறித்த இந்த கட்டுரையுடன் நகரும்

ஸ்ட்ரீம்களில் செயல்பாடுகள்:

இடைநிலை செயல்பாடுகள்:

வரைபடம்



சேகரிப்பில் உள்ள கூறுகளை வாதமாக அனுப்பப்பட்ட முன்னறிவிப்பின் படி மற்ற பொருள்களுடன் வரைபடமாக்கலாம். வரைபட முறையைப் பயன்படுத்தி எண்களின் தனித்துவமான சதுரங்களைக் காட்ட பின்வரும் எடுத்துக்காட்டு பயன்படுத்தப்படுகிறது.

பட்டியல் எண் = வரிசைகள். பட்டியல் (5,4,4,2,3,3) பட்டியல் சதுரங்கள் = எண்.ஸ்ட்ரீம் (). வரைபடம் (y -> y * y) .விவரம் (). சேகரித்தல் (சேகரிப்பாளர்கள். பட்டியல் ())

வடிகட்டி

இந்த முறையைப் பயன்படுத்தி ஒரு அளவுகோலின் அடிப்படையில் கூறுகளை அகற்றலாம்.

பட்டியல் பெயர் = வரிசைகள். பட்டியல் ('சனிக்கிழமை', 'ஞாயிறு', 'வியாழன்') பட்டியல் res = name.stream (). வடிகட்டி (s-> s.startsWith ('S')). சேகரிக்கவும் (சேகரிப்பாளர்கள். பட்டியல் () )

வரிசைப்படுத்தப்பட்டது

இந்த முறையைப் பயன்படுத்தி ஸ்ட்ரீமை வரிசைப்படுத்தலாம்.

பட்டியல் பெயர் = வரிசைகள். பட்டியல் ('சனிக்கிழமை', 'ஞாயிறு', 'வியாழன்') பட்டியல் ரெஸ் = பெயர்.ஸ்ட்ரீம் (). வரிசைப்படுத்தப்பட்ட (). சேகரிக்கவும் (சேகரிப்பாளர்கள். பட்டியல் ())

ஜாவாவில் ஸ்ட்ரீம்: டெர்மினல் செயல்பாடுகள்:

திரட்டுதல்

சேகரிக்கும் செயல்பாட்டைப் பயன்படுத்தி ஒரு ஸ்ட்ரீமின் உறுப்புகளில் செயலாக்கத்தின் முடிவை இணைக்க முடியும்.

பட்டியல் எண் = வரிசைகள். பட்டியல் (4,3,2,5,6) res = num.stream () ஐ அமைக்கவும். வரைபடம் (y-> y * y) .குறிப்பு (Collectors.toSet ())

ஒவ்வொரு

இந்த முறை ஸ்ட்ரீமில் உள்ள ஒவ்வொரு உறுப்பு வழியாகவும் மீண்டும் பயன்படுத்தப்படுகிறது.

பட்டியல் எண் = வரிசைகள். பட்டியல் (4,3,2,5) எண்.ஸ்ட்ரீம் (). வரைபடம் (x-> x * x) .ஒவ்வொரு (y-> System.out.println (y))

குறைக்க

இந்த முறையைப் பயன்படுத்துவதன் மூலம் ஸ்ட்ரீமின் கூறுகளை ஒற்றை மதிப்பாகக் குறைக்கலாம்.

பட்டியல் எண் = அரேஸ்.லிஸ்ட் (4,3,2,5) எண்ணாக கூட = எண்.ஸ்ட்ரீம் (). வடிகட்டி (x-> x% 2 == 0) .முடிவு (0, (ரெஸ், நான்) -> ரெஸ் + நான்)

மாறி ரெஸ் ஆரம்பத்தில் மதிப்பு 0 ஒதுக்கப்படுகிறது, மேலும் நான் அதில் சேர்க்கப்படுகிறேன்.

ஜாவாவில் ஸ்ட்ரீம் குறித்த இந்த கட்டுரையுடன் நகரும்

வடிகட்டுதல்

ஸ்ட்ரீம் முறையைப் பயன்படுத்தி குறியீட்டை வடிகட்டலாம். பின்வரும் எடுத்துக்காட்டில், கருவிகளின் விலை வடிகட்டப்படுகிறது.

இறக்குமதி java.util. * இறக்குமதி java.util.stream.Collectors class Instrument {int num சரம் பெயர் மிதவை விலை பொது கருவி (int num, string name, float price) {this.num = num this.name = name this.price = விலை}} பொது வகுப்பு சோதனை {பொது நிலையான வெற்றிட மெயின் (சரம் [] ஆர்க்ஸ்) {பட்டியல் கருவிகள் பட்டியல் = புதிய வரிசை பட்டியல் () // தயாரிப்புகளைச் சேர்த்தல் கருவிகள் பட்டியல்.ஆட் (புதிய கருவி (1, 'கிட்டார்', 15000 எஃப்)) கருவிகள் பட்டியல் கருவி (2, 'பியானோ', 18000 எஃப்)) கருவிகள் லிஸ்ட்.ஆட் (புதிய கருவி (3, 'புல்லாங்குழல்', 15000 எஃப்)) கருவிகள் பட்டியல். 5, 'யுகுலேலே', 32000 எஃப்)) பட்டியல் கருவி பிரைஸ்லிஸ்ட் 2 = கருவிகள் பட்டியல்.ஸ்ட்ரீம் () .பில்டர் (ப -> ப.பிரைஸ்> 30000) // தரவை வடிகட்டுதல் .மாப் (ப-> ப. Collectors.toList ()) // பட்டியலாக சேகரித்தல் System.out.println (InstrumentPriceList2)}}
 வெளியீடு: 

[48000.0, 32000.0]

ஜாவாவில் ஸ்ட்ரீம் குறித்த இந்த கட்டுரையுடன் நகரும்

இட்ரேட்டிங்:

ஜாவாவில் ஸ்ட்ரீமைப் பயன்படுத்துவதன் மூலம் மறு செய்கை செய்ய முடியும்.

இறக்குமதி java.util.stream. * பொது வகுப்பு சோதனை {பொது நிலையான வெற்றிட மெயின் (சரம் [] args) {Stream.iterate (1, உறுப்பு-> உறுப்பு + 1) .பில்டர் (உறுப்பு-> உறுப்பு% 4 == 0). வரம்பு (6) .forEach (System.out :: println)}}

வெளியீடு:

4

8

ஜாவா எடுத்துக்காட்டில் கோப்பு கையாளுதல்

12

16

இருபது

24

ஜாவாவில் ஸ்ட்ரீம் என்ற கருத்தை மிகவும் திறம்பட புரிந்து கொள்ள மற்றொரு உதாரணத்தைப் பார்ப்போம்.

உதாரணமாக:

இறக்குமதி java.util. * இறக்குமதி java.util.stream. * பொது வகுப்பு சோதனை {பொது நிலையான வெற்றிட மெயின் (சரம் ஆர்க்ஸ் []) {// முழு எண்களின் பட்டியலை உருவாக்குதல் பட்டியல் எண் = அரேஸ்.ஆஸ்லிஸ்ட் (6,7,8,9 ) // வரைபட முறையைப் பயன்படுத்துதல் பட்டியல் சதுரங்கள் = num.stream (). வரைபடம் (y -> y * y). சேகரித்தல் (சேகரிப்பாளர்கள். பட்டியல் ()) System.out.println (சதுரங்கள்) // சரம் பட்டியல் நாட்களின் பட்டியலை உருவாக்குதல் = அணிகள். .stream (). வடிகட்டி (s-> s.startsWith ('S')). சேகரித்தல் (சேகரிப்பாளர்கள். பட்டியல் ()) System.out.println (ரெஸ்) // வரிசைப்படுத்தப்பட்ட முறை பட்டியல் காட்சி = days.stream (). வரிசைப்படுத்தப்பட்ட (). சேகரித்தல் (சேகரிப்பாளர்கள். பட்டியல் ()) System.out.println (காட்சி) / / முழு எண்களின் பட்டியலை உருவாக்குதல் பட்டியல் எண் = வரிசைகள். பட்டியல் (6,9,5,7,1) // சேகரிக்கும் முறை ஒரு தொகுப்பை வழங்குகிறது sqSet = number.stream (). வரைபடம் (y-> y * y) .குறி (Collectors.toSet ()) System.out.println (sqSet) // for every method num.stream (). வரைபடம் (y-> y * y) .ஒவ்வொரு (x-> System.out.println (x)) / / குறைக்கும் முறை int even = num.stream (). வடிகட்டி (x-> x% 2 == 0) .முடிவு (0, (முடிவு, i) -> முடிவு + i) System.out.println (கூட)}}

வெளியீடு:

[36, 49, 64, 81]

[சனி ஞாயிறு]

[வெள்ளி, சனி, ஞாயிறு]

[81, 49, 1, 36, 25]

36

49

64

81

14

உறுப்புகள் மீது செயல்பாடுகளை திறம்பட செய்ய ஸ்ட்ரீம்கள் பயனருக்கு உதவுகின்றன.

இவ்வாறு ‘ஜாவாவில் நீரோடை’ குறித்த இந்த கட்டுரையின் முடிவுக்கு வந்துள்ளோம். நீங்கள் மேலும் அறிய விரும்பினால், நம்பகமான ஆன்லைன் கற்றல் நிறுவனமான எடுரேகாவின் ஜாவா பயிற்சியைப் பாருங்கள். எடுரேகாவின் ஜாவா ஜே 2 இஇ மற்றும் எஸ்ஓஏ பயிற்சி மற்றும் சான்றிதழ் பாடநெறி, முக்கிய மற்றும் மேம்பட்ட ஜாவா கருத்தாக்கங்களுக்கும், ஹைபர்னேட் & ஸ்பிரிங் போன்ற பல்வேறு ஜாவா கட்டமைப்புகளுக்கும் பயிற்சி அளிக்க வடிவமைக்கப்பட்டுள்ளது.

எங்களுக்கு ஒரு கேள்வி கிடைத்ததா? தயவுசெய்து இந்த வலைப்பதிவின் கருத்துகள் பிரிவில் குறிப்பிடவும், விரைவில் நாங்கள் உங்களைத் தொடர்புகொள்வோம்.