The 30 second answer
filter keeps or drops elements with a predicate; the type stays the same and the count can only shrink. map transforms every element with a function; the count stays the same and the type may change. They solve different jobs and are often chained together.
filter(Predicate) keeps or drops elements — type unchanged, count ≤ input. map(Function) transforms each element — count unchanged, type may change.
Sources:
Sources (0)
See inline citations in the answer above.