Set实现 发表于 2018-06-23 12345678// 应用:客户统计、词汇量统计public interface Set<E> { void add(E e); // 不能添加重复元素 void remove(E e); boolean contains(E e); int getSize(); boolean isEmpty();} BST实现集合1234567891011121314151617181920212223//平均时间复杂度O(logn)public class BSTSet<E extends Comparable<E>> implements Set<E> { private BST<E> bst; public BSTSet() { bst = new BST<>(); } @Override public int getSize() { return bst.size(); } @Override public boolean isEmpty() { return bst.isEmpty(); } @Override public void add(E e) { bst.add(e); } @Override public boolean contains(E e) { return bst.contains(e); }} 链表实现集合123456789101112131415161718192021222324252627282930// 平均时间复杂度O(n)public class LinkedListSet<E> implements Set<E> { private LinkedList<E> list; public LinkListSet() { list = new LinkedList<>(); } @Override public int getSize() { return list.size(); } @Override public boolean isEmpty() { return list.isEmpty(); } @Override public void add(E e) { if(!list.contains(e)) { list.addFirst(e); } } @Override public boolean contains(E e) { return list.contains(e); } @Override public void remove(E e) { list.removeElement(e); }} -------------本文结束感谢您的阅读-------------