Java tutorial
import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; class UniqueList { private HashSet masterSet = new HashSet(); private ArrayList innerList; private Object[] returnable; public UniqueList() { innerList = new ArrayList(); } public UniqueList(int size) { innerList = new ArrayList(size); } public void add(Object thing) { if (!masterSet.contains(thing)) { masterSet.add(thing); innerList.add(thing); } } public List getList() { return innerList; } public Object get(int index) { return innerList.get(index); } public Object[] toObjectArray() { int size = innerList.size(); returnable = new Object[size]; for (int i = 0; i < size; i++) { returnable[i] = innerList.get(i); } return returnable; } } public class Main { public static void main(String[] args) { UniqueList ul = new UniqueList(); ul.add("Test"); ul.add("Test"); ul.add("Not a copy"); ul.add("Test"); Object[] content = ul.toObjectArray(); System.out.println(Arrays.toString(content)); } }