సేకరణలు మరియు శ్రేణుల సమర్ధవంతమైన ప్రాసెసింగ్ను అనుమతించే స్ట్రీమ్లు జావా 8కి కొత్త అదనం. స్ట్రీమ్ అనేది సమాంతరంగా లేదా వరుసగా ప్రాసెస్ చేయగల మూలకాల శ్రేణి. స్ట్రీమ్లు డేటాతో పని చేయడానికి ఫంక్షనల్ ప్రోగ్రామింగ్ స్టైల్ విధానాన్ని అందిస్తాయి, ఫిల్టరింగ్, మ్యాపింగ్ మరియు తగ్గించడం వంటి కార్యకలాపాలను సేకరణకు సంక్షిప్తంగా మరియు చదవగలిగే పద్ధతిలో వర్తింపజేయడానికి అనుమతిస్తుంది.
జావా 8లో స్ట్రీమ్లతో పని చేయడానికి, మీరు ఇంటర్ఫేస్ను ఉపయోగించవచ్చు Stream
, ఇది స్ట్రీమ్లను సృష్టించడానికి మరియు మార్చడానికి అనేక పద్ధతులను అందిస్తుంది. స్ట్రీమ్ను సృష్టించడానికి అత్యంత సాధారణ మార్గాలలో కొన్ని:
- పద్ధతిని ఉపయోగించి సేకరణను స్ట్రీమ్గా మార్చడం
stream()
:జావాస్క్రిప్ట్List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); Stream<String> stream = names.stream();
- పద్ధతిని ఉపయోగించి విలువల ప్రవాహాన్ని సృష్టించడం
Stream.of()
:phpStream<Integer> stream = Stream.of(1, 2, 3);
- సరఫరాదారు ఫంక్షన్ని ఉపయోగించి విలువల స్ట్రీమ్ను రూపొందించడం:scss
Stream<Integer> stream = Stream.generate(() -> new Random().nextInt(100));
ఒకసారి మీరు స్ట్రీమ్ను కలిగి ఉంటే, మీరు దానిపై ఫిల్టరింగ్, మ్యాపింగ్ మరియు తగ్గించడం వంటి అనేక రకాల కార్యకలాపాలను చేయవచ్చు. కొన్ని సాధారణ కార్యకలాపాలు ఉన్నాయి:
filter()
: ఇచ్చిన ప్రిడికేట్తో సరిపోలే మూలకాల స్ట్రీమ్ను అందిస్తుంది.తుప్పు పట్టడంStream<String> stream = names.stream().filter(name -> name.startsWith("A"));
map()
: ఇచ్చిన ఫంక్షన్ ద్వారా రూపాంతరం చెందిన మూలకాల స్ట్రీమ్ను అందిస్తుంది.scssStream<Integer> stream = numbers.stream().map(x -> x * x);
reduce()
: ఇచ్చిన ఫంక్షన్ని ఉపయోగించి స్ట్రీమ్లోని మూలకాలను మిళితం చేస్తుంది.cssOptional<Integer> result = numbers.stream().reduce((a, b) -> a + b);
స్ట్రీమ్లను ఉపయోగించడం వల్ల కలిగే ముఖ్య ప్రయోజనాల్లో ఒకటి డేటా ప్రాసెసింగ్ను సమాంతరంగా చేసే సామర్థ్యం. ఇది డేటాను చిన్న ముక్కలుగా విభజించి, వాటిని ఏకకాలంలో ప్రాసెస్ చేయడం ద్వారా పెద్ద డేటాసెట్లపై కార్యకలాపాల పనితీరును గణనీయంగా మెరుగుపరుస్తుంది. స్ట్రీమ్ను సమాంతరంగా ప్రాసెస్ చేయడానికి, మీరు parallelStream()
బదులుగా పద్ధతిని ఉపయోగించవచ్చు stream()
.
జావా 8లోని స్ట్రీమ్లు క్రియాత్మక శైలిలో సేకరణలు మరియు శ్రేణులను ప్రాసెస్ చేయడానికి శక్తివంతమైన మరియు సౌకర్యవంతమైన మార్గాన్ని అందిస్తాయి. డేటాను మార్చటానికి అవి సంక్షిప్త మరియు చదవగలిగే మార్గాన్ని అందిస్తాయి మరియు మీ కోడ్ పనితీరును మెరుగుపరచడంలో సహాయపడతాయి.....