import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

public class SequencedDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>(List.of("b", "c"));
        list.addFirst("a");
        list.addLast("d");
        System.out.println("list=" + list);
        System.out.println("reversed=" + list.reversed());

        LinkedHashSet<String> set = new LinkedHashSet<>(List.of("a", "b", "c"));
        set.addFirst("c");
        System.out.println("set=" + set);

        LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
        map.put("a", 1);
        map.put("b", 2);
        map.putFirst("b", 20);
        System.out.println("map=" + map);

        TreeMap<String, Integer> tree = new TreeMap<>(Map.of("a", 1));
        try {
            tree.putFirst("z", 26);
        } catch (UnsupportedOperationException e) {
            System.out.println("tree.putFirst -> UOE");
        }
    }
}
