It takes a lambda expression as its only argument, and uses it to change every individual element in the stream. Its return value is a new Stream object containing the changed elements.
Example, use map to convert all elements in an array of strings to uppercase.
String[] myArray = new String[]{"bob", "alice", "paul", "ellie"};
Stream<String> myStream = Arrays.stream(myArray);
Stream<String> myNewStream = myStream.map(s -> s.toUpperCase());
//The Stream object returned contains the changed strings. To convert it into an array, you use its toArray method:
String[] myNewArray = myNewStream.toArray(String[]::new);