A Set is an unordered collection of primitives or sObjects that do not contain any duplicate elements.
A Map is a collection of key-value pairs where each unique key maps to a single value. Keys can be primitive data type, while values can be a primitives, sObject, collection type or an Apex object.