有序集合。允许有重复元素,通常允许有

  1. 有序集合。允许有重复元素,通常允许有多个空值。
  2. List接口提供了四种位置(索引)访问列表元素的方法。对于某些实现(例如,LinkedList类),这些操作的执行时间可能与索引值成比例。
  3. List接口提供了一个特殊的迭代器 ListIterator,允许元素插入和替换。除了Iterator接口提供的正常操作以外,还提供双向访问。提供了一种方法来获取从列表中的指定位置开始的列表迭代器。
  4. List接口提供了两种搜索指定对象的方法。从性能角度来看,应谨慎使用这些方法。在许多实现中,他们将执行昂贵的线性搜索。
  5. List接口提供了两种方法来有效地插入和删除列表中任意点上的多个元素。
  6. 虽然List能把自己作为一个元素保存,但一定要小心,equals和hashCode方法在这样的List中不再很好的定义。
  7. 一些列表实现对它们可能包含的元素有限制,比如一些实现不允许有空值,一些实现对其元素类型有限制。
  8. 列表存储的元素最大值为Integer.MAX_VALUE,多于该值的,返回个数也是该值。
  9. 包含元素的条件为【o==null ? e==null : o.equals(e)】
  10. 列表的hashCode定义为

    1
    2
    3
    int hashCode = 1;
    for(E e :list)
    hashCode = 31*hashCode + (e==null ? 0 : e.hashCode());