What is the difference between a Set and a List in Java, and when would you choose a Set over a List?