集合(Set)
集合的特性
集合中的元素只存在一次,因此集合可以快速去重,去除掉重复元素。
集合的常用方法
Set<E>
void add(E) //不可以添加重复元素
void remove(E)
boolean contains(E)
int getSize()
boolean isEmpty()
集合的应用场景
- 客户统计,如统计某一时间段内某网站访问的IP数,此时需要去除重复IP访问
- 词汇量统计,如统计一篇英文文章的词汇量,需要去除重复英语单词
映射(Map)
映射类似于函数,代表一个值与另外一个值的对应关系。可以理解为字典(dict),由单词——>释意。
映射即存储(键,值)数据对的数据结构(Key, Value)
其非常容易用链表和二分搜索树来实现。
//链表
class Node{
K key;
V value;
Node next;
}
//二分搜索树
class Node{
K key;
V value;
Node left;
Node right;
}
映射的接口
Map<K, V>
void add(K, V)
V remove(K)
boolean contains(K)
V get(K)
void set(K, V)
int getSize()
boolean isEmpty()