概述
- 集合不能添加重复元素
- 可以使用二分搜索树很方便的实现集合
集合的典型应用 :
- 客户统计
- 词汇量统计
代码实现
集合可以很方便的使用二分搜索树进行实现, 现在引用上面实现的二分搜索树实现集合
集合接口定义 :
package set;
public interface Set<E extends Comparable<E>> {
/**
* 集合中添加元素
* @param e
*/
void add(E e);
/**
* 集合中删除元素
* @param e
*/
void remove(E e);
/**
* 查看集合中是否包含元素E
* @param e
* @return
*/
boolean contains(E e);
/**
* 获取集合大小
* @return
*/
int getSize();
/**
* 判断集合是否为空
* @return
*/
boolean isEmpty();
}
集合实现 :
package set;
import tree.bst.BSTree ;
/**
* 直接使用二分搜索树实现集合
* @author 七夜雪
*
* @param <E>
*/
public class BSTSet<E extends Comparable<E>> implements Set<E> {
private BSTree<E> bst;
public BSTSet() {
this.bst = new BSTree<>() ;
}
@Override
public void add(E e) {
bst.add(e);
}
@Override
public void remove(E e) {
bst.remove(e);
}
@Override
public boolean contains(E e) {
return bst.contains(e) ;
}
@Override
public int getSize() {
return bst.getSize() ;
}
@Override
public boolean isEmpty() {
return bst.isEmpty() ;
}
}
这里使用的二分搜索树的代码在这一篇博文中 :
https://blog.csdn.net/love905661433/article/details/82981527