Set

Set 是一种用于保存不重复元素的数据结构。常被用作测试归属性,故其查找的性能十分重要。

编程实现

Python

Setpython自带的基本数据结构, 有多种初始化方式。 Pythonsetdict的Implementation方式类似, 可以认为set是只有keydict.

  1. s = set()
  2. s1 = {1, 2, 3}
  3. s.add('shaunwei')
  4. 'shaun' in s # return true
  5. s.remove('shaunwei')

Java

Set 与 Collection 具有安全一样的接口,通常有HashSet, TreeSetLinkedHashSet三种实现。HashSet基于散列函数实现,无序,查询速度最快;TreeSet基于红-黑树实现,有序。

  1. Set<String> hash = new HashSet<String>();
  2. hash.add("billryan");
  3. hash.contains("billryan");

在不允许重复元素时可当做哈希表来用。