首页javalistJava Collection - 如何create List仅存储唯一值

Java Collection - 如何create List仅存储唯一值

我们想知道如何create List仅存储唯一值。
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));
  }
}