StreamΛΘͳ͍߹ͷྫ
List list = Arrays.asList(1,2,3);
Integer result = 0;
for (Integer i : list) {
result += i * i;
}
System.out.println(result); //14
Slide 7
Slide 7 text
ͳ͓ruby
result = [1,2,3]
.map{ |i| i*i }
.inject{ |a,b| a + b }
puts result #=> 14
Slide 8
Slide 8 text
StreamΛ͏߹ͷྫ
List list = Arrays.asList(1,2,3);
Integer result = list.stream()
.map(x -> x * x)
.reduce((a, b) -> a + b)
.get();
System.out.println(result); //14
Slide 9
Slide 9 text
Stream APIΛ༻͍࣮ͨ
"SSBZ
-JTUͳͲͷ
%BUBTPVSDF
TUSFBN࡞
தؒૢ࡞
ϑΟϧλϦϯάɾͷૢ࡞ͳͲ
ऴૢ࡞
ूૢ࡞ɾผΫϥεͷมɾ
ஞ࣍ॲཧͳͲ
ॲཧ͞Εͨ݁Ռ
list.stream()
.map(x -> x * x)
.reduce((a, b) -> a + b)
.get();
Collection frameworkͩͱ
ϚϧνεϨουͰฒߦॲཧ͢ΔstreamΛ࡞ΕΔ
List list = Arrays.asList(1,2,3);
Integer result = list.parallelStream()
.map(x -> x * x)
.reduce((a, b) -> a + b)
.get();
System.out.println(result); //14