0. List<T> 是一个接口
该接口定义的高级成员函数有:
- contains() ⇒ 是否包含;
String[] people; List names = Arrays.asList(new String[]{"zhang", "san"}); for (String p: people) { if (names.contains(p)) { ... } }
- contains() ⇒ 是否包含;
1. 删除元素的标准写法
public void removeObserver(Observer o) {
int i = observers.indexOf(o);
if (i >= 0) {
observers.remove(i);
}
}
2. HashSet 的应用场景
Set 中最常被使用的是测试(判断)归属性(基于对象的值),可以很容易地询问某个对象是否在该 Set 中。正因如此,查找(lookup)就成为了 Set 中最重要的操作。因此通常都会选择一个 HashSet 的实现,其专门对快速查找进行了优化。
3. TreeSet
TreeSet 将元素存储在红黑树数据结构中;
- 使用 TreeSet 实现对结果的排序
SortedSet<Integer> intset = new TreeSet<Integer>();
- HashSet 使用的是哈希散列函数;
- LinkedHashSet 也是使用了散列的方式以加快查询的速度,又通过链表来维护元素的插入顺序;