Streams API: Java SE
Streams API: Java SE
Java SE
Contents
• Overview
• What is a Streams?
• Stream Operations
• Stream မ01?အ1? Data အ1?သiမ&?ဆည&?ရန& အသu;?မ2ပuGiuင&ပD၊ မJလ Data Source မ01?မ' Data မ01?အ1?
Pipe Line ကDEသiu တစ&ခu2ခင&? စ(?ဆင&?eစက1၊ သတ&မ'တ&ထ1?eသ1 လuပ&eဆ1င&ခ0က&မ01အ1? လuပ&eဆ1င&eစ
Giuင&ပ8သည&
• တဖန& Stream ၏ Internal Iteration သည& Stream Operation ၏ Lazy Seeking အ1? ပ;Eပiu?eပ?ပ8သည&
• Stream မ01?သည& သu;?စ.Dနiuင&eသ1 Object မ01?2ဖစ&Fပ(?၊ Stream အတ.င&?/i Data မ01?အ1? တစ&Nကiမ& သu;?စ.DFပ(?
ပ8က မJရင&? Stream Object အ1? 2ပန&လည& အသu;?2ပuGiuင&eတ1Eမည& မဟuတ&ပ8
• Stream တစ&ခuတ.င& creation၊ intermediate process G'င&E terminal process တiuပ8ဝင&<ကFပ(? ပiuက&လiuင&?
တစ&ခuကDEသiu ခ0iတ&ဆက&လPက&/iပ8သည&
• Stream<T>
• IntStream
• LongStream
• DoubleStream
Stream Operation
• Stream Creation Operations မ01?သည& Stream မ01?အ1? စတင& 2ဖစ&eပR
eစeသ1 Operation မ01?2ဖစ&<ကFပ(? ၎င&? method မ01?၏ return type သည&
Stream အမ0iu? အစ1?မ01? 2ဖစ&<က၏
• From File
// from collection
Collection<String> col = Arrays.asList("Hello", "Java",
"I am a developer");
col.stream().forEach(System.out::println);
From a file
Files.lines(Paths.get("T2FromFiles.txt"))
.forEach(System.out::println);
}
Ranging
// IntStream
IntStream.range(1, 10).forEach(System.out::println);
IntStream.rangeClosed(1, 10).forEach(System.out::println);
// LongStream
LongStream.range(1, 10)
.forEach(System.out::println);
// DoubleStream
DoubleStream.of(19.001, 12.201,11,111)
.forEach(System.out::println);
Iterate & Generate
// double stream generate
DoubleStream.generate(Math::random).limit(20)
.forEach(System.out::println);
// Stream iterate
Stream.iterate("", a -> a + "a").limit(10)
.forEach(System.out::println);
Intermediate Operations
Method Description
System.out.println(sum);
}
FlatMap
public static void main(String[] args) {
// flat mapping list stream
T0Common.listStream()
.flatMap(l -> l.stream().map(a -> a.getName()))
.sorted()
.forEach(System.out::println);
}
Others
IntStream
.of(1,2,3,4,5,6,4,3,2,5,6,7,8,9,4,4,3,2,1)
.distinct()
.sorted()
.skip(3)
.limit(5)
.forEach(System.out::println);
Terminal Operation
Method Description
reduce Stream အတ#င:% 'i Data မ*+&အ+& eန+က%ဆu6&တစ%ခu အထi eလE+@ခ* eဆ+င%F#က%
eပ&/iuင%ပBသည%
System.out.println(names);
AllMatch
System.out.println(result);