You are given a graph represented through an adjacency list. For example, the input
1-2 2-3 3-4 4-1
would correspond to the graph with nodes 1, 2, 3 and 4, where 1 is connected to 2, 2 is connected to 3, 3 is connected to 4, and 4 is connected to 1 (forming a square).
The task is to determine the number of of unconnected components of the graph represented by an inputted adjacency list. An "unconnected component" is a set of nodes from which there is no path to any other node that is not in the set. So, for instance, a lone node with no connections would be considered an unconnected component.
Language of your choice - shortest code possible.