import java.util.Arrays;
import java.util.EnumMap;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
public class UseEnumCollectionBugs {
public enum Suit {
Spades, Hearts, Clubs, Diamonds
};
private Map<Suit, List<String>> badMap = new EnumMap<>(Suit.class);
private Set<Suit> badSet;
public UseEnumCollectionBugs() {
badSet = EnumSet.noneOf(Suit.class);
}
public void addToMap(Suit suit, String... strings) {
badMap.put(suit, Arrays.asList(strings));
}
public void addToSet(Suit s) {
badSet.add(s);
}
public Set<Suit> getHand() {
Set<Suit> badLocalSet = EnumSet.noneOf(Suit.class);
badLocalSet.add(Suit.Hearts);
badLocalSet.add(Suit.Clubs);
return badLocalSet;
}
public Map<Suit, String> getHandMap() {
Map<Suit, String> badLocalMap = new EnumMap<>(Suit.class);
badLocalMap.put(Suit.Spades, "Foo");
badLocalMap.put(Suit.Clubs, "Bar");
return badLocalMap;
}
@Override
public String toString() {
return "UseEnumCollectionBugs [badMap=" + badMap + ", badSet=" + badSet + ']';
}
}