import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;

/** Las tres implementaciones de Set con los mismos datos. */
public class SetDemo {

    public static void main(String[] args) {
        String[] visits = {"Lima", "Cusco", "Arequipa", "Lima", "Puno", "Cusco", "Ica"};

        Set<String> hash = new HashSet<>();
        Set<String> linked = new LinkedHashSet<>();
        Set<String> tree = new TreeSet<>();
        for (String city : visits) {
            hash.add(city);
            linked.add(city);
            tree.add(city);
        }
        IO.println("visitas:       " + visits.length);
        IO.println("HashSet:       " + hash);
        IO.println("LinkedHashSet: " + linked);
        IO.println("TreeSet:       " + tree);

        boolean added = tree.add("Lima");
        IO.println("¿add(\"Lima\") otra vez? " + added + ", size = " + tree.size());
        IO.println("¿contains(\"Puno\")? " + hash.contains("Puno"));
    }
}
