JavaSE
  1. List
JavaSE
  • rt.jar
    • java
      • lang
        • String.java
      • util
        • ArrayList.java
        • Iterable.java
        • Collection.java
        • List
          • List.java
  1. List

List.java

备注
有序集合(也称为序列)。此接口的使用者可以精确控制列表中每个元素的插入位置。使用者可以通过整数索引(在列表中的位置)访问元素,并在列表中搜索元素。
与 Set 不同,列表通常允许重复元素。更正式地说,列表通常允许元素对 e1 和 e2 满足 e1.equals(e2),如果允许 null 元素,通常允许多个 null 元素。可以想象有人可能希望实现一个禁止重复的列表,在用户尝试插入时抛出运行时异常,但我们预期这种用法很少见。
List 接口在 iterator、add、remove、equals 和 hashCode 方法的契约上,除了 Collection 接口中指定的之外,还有额外的规定。为了方便起见,其他继承方法的声明也包含在这里。
List 接口提供了四种方法进行位置(索引)访问列表元素。列表(像 Java 数组一样)从零开始。请注意,对于某些实现(例如 LinkedList 类),这些操作的执行时间可能与索引值成正比。因此,如果调用者不知道实现,通常优先遍历列表中的元素而不是通过索引访问。
List 接口提供了一个特殊的迭代器,称为 ListIterator,除了 Iterator 接口提供的正常操作外,还允许元素插入和替换以及双向访问。提供了一个方法来获取从列表中指定位置开始的列表迭代器。
List 接口提供了两种方法来搜索指定对象。从性能角度来看,应谨慎使用这些方法。在许多实现中,它们将执行昂贵的线性搜索。
List 接口提供了两种方法来高效地在列表中的任意点插入和删除多个元素。
注意:虽然允许列表包含自身作为元素,但建议极其谨慎:equals 和 hashCode 方法在这样的列表上不再有明确的定义。
某些列表实现对其可能包含的元素有限制。例如,某些实现禁止 null 元素,某些对其元素的类型有限制。尝试添加不符合资格的元素会抛出未检查的异常,通常是 NullPointerException 或 ClassCastException。尝试查询不符合资格的元素是否存在可能会抛出异常,也可能只是返回 false;某些实现会表现出前一种行为,某些会表现出后一种行为。更一般地说,对不符合资格的元素尝试操作,如果操作的完成不会导致将不符合资格的元素插入列表中,可能会抛出异常,也可能成功,这取决于实现的选择。此类异常在此接口的规范中标记为"可选"。
此接口是 Java 集合框架的成员。
类
public interface List<E> extends Collection<E> {}
上一页
Collection.java
Built with