package nbtool.data; import java.util.Arrays; import java.util.LinkedList; import java.util.List; import java.util.Vector; public class OrderedSet<T> { private LinkedList<T> internal = null; public OrderedSet(T[] array) { internal = new LinkedList<>(Arrays.asList(array)); } public OrderedSet() { internal = new LinkedList<>(); } public OrderedSet(List<T> list) { internal = new LinkedList<>(list); } public Vector<T> vector() { return new Vector<>(internal); } public Vector<T> update(T next) { if (internal.contains(next)) { internal.remove(next); } internal.addFirst(next); return vector(); } public int index(T obj) { return internal.indexOf(obj); } }