/* 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; } ,
null
) ;
}
List
< String
> words
= Arrays .
asList ( "word1" ,
"word2" ,
"word3" ) ; System .
out .
println ( myMap
( words.
stream ( ) , s
-> Integer .
valueOf ( s.
substring ( s.
length ( ) - 1 ) ) ) ) ; }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS51dGlsLnN0cmVhbS4qOwppbXBvcnQgamF2YS51dGlsLmZ1bmN0aW9uLio7CmltcG9ydCBqYXZhLmxhbmcuKjsKaW1wb3J0IGphdmEuaW8uKjsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUgewogIHB1YmxpYyBzdGF0aWM8UixVPiBMaXN0PFI+IG15TWFwKFN0cmVhbTxVPiBzLCBGdW5jdGlvbjxVLFI+IGZuY3RuKSB7CiAgICByZXR1cm4gcy5yZWR1Y2UoCiAgICAgIG5ldyBBcnJheUxpc3Q8Uj4oKSwKICAgICAgKExpc3Q8Uj4gbGlzdCwgVSBlbGVtKSAtPiB7IGxpc3QuYWRkKGZuY3RuLmFwcGx5KGVsZW0pKTsgcmV0dXJuIGxpc3Q7IH0sCiAgICAgIG51bGwKICAgICk7CiAgfQoKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24gewogICAgTGlzdDxTdHJpbmc+IHdvcmRzID0gQXJyYXlzLmFzTGlzdCgid29yZDEiLCAid29yZDIiLCAid29yZDMiKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbihteU1hcCh3b3Jkcy5zdHJlYW0oKSwgcy0+SW50ZWdlci52YWx1ZU9mKHMuc3Vic3RyaW5nKHMubGVuZ3RoKCktMSkpKSk7CiAgfQp9