List的核心特点是有序、可重复、支持索引访问;它严格保持插入顺序,允许重复元素,提供基于下标的快速读写操作,并明确定义首、尾及任意位置的操作能力。
List 是 Java 集合框架中最常用、最基础的接口之一,它的核心特点就是有序、可重复、支持索引访问。它不关心元素是否唯一,也不强制排序,而是忠实记录你添加的顺序,并允许通过下标(0 开始)快速定位元素。
List 保证元素的存储顺序与插入顺序严格一致。无论你 add(0, x) 插入开头,还是 add(x) 追加末尾,后续调用 for-each 或 get(i) 都会按这个顺序呈现。
List 不做去重校验。你可以连续 add("a") 三次,列表里就存了三个 "a",get(0)、get(1)、get(2) 全部返回 "a"。

List 提供 get(int index)、set(int index, E element)、add(int index, E element) 等基于位置的操作,这是它区别于 Queue 或 Stack 的关键能力。
List 明确定义了 0 号位(首个)、size()-1 号位(末个),并支持在任意合法下标处插入或删除。
基本上就这些。理解 List 的“有序、可重复、可索引”三个锚点,就能准确选型(比如该用 ArrayList 还是 LinkedList)、避开常见误用(如把 List 当 Set 用),也能读懂源码中那些 indexOutOfBounds 或 modCount 检查的意图。