/* package whatever; // don't place package name! */
import java.util.*;
import java.util.stream.*;
import java.util.function.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone {
public static<R,U> List<R> myMap(Stream<U> s, Function<U,R> fnctn) {
return s.reduce(
new ArrayList<R>(),
(List<R> list, U elem) -> { list.add(fnctn.apply(elem)); return list; },
(List<R> list1, List<R> list2) -> { list1.addAll(list2); return list1; }
);
}
List
<String
> words
= Arrays.
asList("word1",
"word2",
"word3"); System.
out.
println(myMap
(words.
stream(), s
->Integer.
valueOf(s.
substring(s.
length()-1)))); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS51dGlsLnN0cmVhbS4qOwppbXBvcnQgamF2YS51dGlsLmZ1bmN0aW9uLio7CmltcG9ydCBqYXZhLmxhbmcuKjsKaW1wb3J0IGphdmEuaW8uKjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUgewogIHB1YmxpYyBzdGF0aWM8UixVPiBMaXN0PFI+IG15TWFwKFN0cmVhbTxVPiBzLCBGdW5jdGlvbjxVLFI+IGZuY3RuKSB7CiAgICByZXR1cm4gcy5yZWR1Y2UoCiAgICAgIG5ldyBBcnJheUxpc3Q8Uj4oKSwKICAgICAgKExpc3Q8Uj4gbGlzdCwgVSBlbGVtKSAtPiB7IGxpc3QuYWRkKGZuY3RuLmFwcGx5KGVsZW0pKTsgcmV0dXJuIGxpc3Q7IH0sCiAgICAgIChMaXN0PFI+IGxpc3QxLCBMaXN0PFI+IGxpc3QyKSAtPiB7IGxpc3QxLmFkZEFsbChsaXN0Mik7IHJldHVybiBsaXN0MTsgfQogICAgKTsKICB9CgogIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbiB7CiAgICBMaXN0PFN0cmluZz4gd29yZHMgPSBBcnJheXMuYXNMaXN0KCJ3b3JkMSIsICJ3b3JkMiIsICJ3b3JkMyIpOwogICAgU3lzdGVtLm91dC5wcmludGxuKG15TWFwKHdvcmRzLnN0cmVhbSgpLCBzLT5JbnRlZ2VyLnZhbHVlT2Yocy5zdWJzdHJpbmcocy5sZW5ndGgoKS0xKSkpKTsKICB9Cn0=